3.6 KiB
3.6 KiB
Contributing to the Project
How can I contribute?
Any contributions to this project are warmly welcome. These are the most important areas:
- Bug reports
- Feature requests
- Testing the module against different Active Directory configurations
- Documentation
- PowerShell help
- XML documentation comments in the source code
- Code
- Bug fixes
- New features
- Test cases
- Code cleanup (StyleCop, FXCop, String to Resource extraction,...)
Submitting Bug Reports
When submitting a new bug report, please do not forget to mention the version of the target domain controller. The following information would also be very useful:
# The entire command that caused the error
Get-History
# Error message
$Error[0].Exception.Message
# The entire exception stack trace
$Error[0].Exception.StackTrace
# Version of the DSInternals module
(Get-Module -Name DSInternals -ListAvailable).Version.ToString()
# OS on which the command was running
(Get-WmiObject -Class Win32_OperatingSystem).Caption
# PowerShell version
$PSVersion
# Anything else that might help identifying and fixing the issue
Building from Source Code
Development Environment
If you want to build the module from source code yourself, you need to install these programs first:
- Microsoft Visual Studio Community 2015, 2017 or 2019 with these features installed:
- Common Tools for Visual C++
- Windows SDK (you have to retarget the DSInternals.Replication.Interop project to the version you have)
- PowerShell Tools for Visual Studio (optional)
- Git for Windows (optional)
- GitHub Extension for Visual Studio (optional)
- Windows Management Framework 5.
To make IntelliSense work with *.psm1 files, the following code needs to be added to the C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Xml\Schemas\catalog.xml
file:
<Association extension="ps1xml" schema="https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd" enableValidation="true"/>
<Association extension="ps1xml" schema="https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd" enableValidation="true"/>
Build Steps
- Install the prerequisities.
- Checkout or download the source codes.
- Run the Scripts\Make.ps1 script from PowerShell.
- The resulting module will appear in the Build\bin\Release folder.
Debugging
- Open the Src\DSInternals.sln file in Visual Studio.
- Put any cmdlets you wish to debug into the Src\DSInternals.PowerShell\Run-Cmdlets.ps1 script.
- Set the DSInternals.PowerShell project as StartUp Project.
- Switch to the Debug configuration.
- Start debugging (F5).
Continuous Integration
Automatic build configuration is in the azure-pipelines.yml file.