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,...)
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
If you want to build the module from source code yourself, you need to install these programs first:
- Microsoft Visual Studio Community 2022 with these features installed:
- .NET Framework 4.7.2 targeting pack
- C++ 2022 Redistributable Update
- C++/CLI support for v143 build tools (Latest)
- MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
- MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
- Windows Universal C Runtime
- Windows 11 SDK (you might 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\Microsoft Visual Studio\2022\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"/>
- 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.
- 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).
Automatic build configuration is in the azure-pipelines.yml file.