en-us/about_DomainManagement.help.txt
TOPIC
about_DomainManagement SHORT DESCRIPTION Explains how to use the DomainManagement powershell module LONG DESCRIPTION #------------------------------------------------------------------------# # Index # #------------------------------------------------------------------------# - Introduction - Connection Protocols - Configuration - Names - Execution Order - Custom Credentials - Callback System #------------------------------------------------------------------------# # Introduction # #------------------------------------------------------------------------# The DomainManagement module is designed to bring a domain into the desired state you define. This can affect a single type of object - e.g. ensuring certain groups exists - or almost all resources available in a domain. It _is_ similar in concept to Desired State Configuration - you define a state you want to ensure, it makes that state happen. It is however far more clesly tailored to the requirements of Active Directory and supports a few twists that are simply impossible (or at least very, very hard) with Desired State Configuration. The basic concept is that you use the various Register-DM* commands to define the way you want your domain to look. Then you can use the respective Test-DM* commands to see, whether the targeted domain complies with that state, or use the Invoke-DM* commands to make it come into compliance with the configuration. More on Configuration in the dedicated Configuration chapter. # Examples #----------- Example using Organizational Units: After defining configuration, run the following command to validate the current domain: Test-DMOrganizationalUnit No further parameters needed. It will return a list of findings that are out of compliance, for example a list of OUs to create and a list of OUs to delete. Applying the configuration is then an act of running: Invoke-DMOrganizationalUnit Which will apply the required changes. Note: - Some Invoke-DM* commands include additional switch parameters to control seperate modes of operation, where useful. In case of organizational units, this means a -Delete parameter. By default it will only create or rename OUs, not delete them. From a workflow perspective, it is necessary to first create new OUs, then move or delete content from the old ones before finally deleting them. This means some Invoke-DM* commands will be called multiple times in different modes along a full workflow. - All Invoke-DM* commands support the -WhatIf parameter to see what would be done without actually changing anything. - All changes performed are fully logged using PSFramework logging. For more details on the recommended execution order, see the chapter "Execution Order" #------------------------------------------------------------------------# # Connection Protocols # #------------------------------------------------------------------------# All commands in the system support remote and local execution. They can be run from the targeted domain or from completely outside. Custom credentials are very much supported, as is targeting a specific server or the domain in its entirety. The commands use three protocols, that may need to be enabled: - ADWS : Active Directory WebServices - LDAP : Leightweight Directory Access Protocol - WinRM : Windows Remote Management Most commands use ADWS exclusively. Some rely on LDAP via the directory services components for identity lookup. Commands handling Group Policy Objects will require WinRM, as the GPO module does not natively support custom credentials. #------------------------------------------------------------------------# # Configuration # #------------------------------------------------------------------------# To manage the configuration that will be applied it is strongly recommended to implement a dedicated management module, that handles the configuration aspects. It is recommended to store the actual configuration data in a structured data format, such as Json, and manage it within source control (which has the added benefit of tracking all changes). One configuration management tool provided by this project is the ADMF module. It allows using json file and provides the tools to hierarchically combine and merge configuration-sets. #------------------------------------------------------------------------# # Names # #------------------------------------------------------------------------# #------------------------------------------------------------------------# # Execution Order # #------------------------------------------------------------------------# #------------------------------------------------------------------------# # Custom Credentials # #------------------------------------------------------------------------# #------------------------------------------------------------------------# # Callback System # #------------------------------------------------------------------------# KEYWORDS DomainManagement |