Configuration driven Active Directory management.
Registers a user definition into the configuration domains are compared to.
Register-DMUser [-SamAccountName] <String> [[-Name] <String>] [[-GivenName] <String>] [[-Surname] <String>]
[[-Description] <String>] [-PasswordNeverExpires] [-UserPrincipalName] <String> [-Path] <String>
[[-Enabled] <TriBool>] [[-Optional] <Boolean>] [[-OldNames] <String[]>] [[-Present] <Boolean>]
[<CommonParameters>]
Registers a user definition into the configuration domains are compared to. This configuration is then compared to the configuration in AD when using Test-ADUser.
Note: Many properties can be set up for string replacement at runtime. For example to insert the domain DN into the path, insert “%DomainDN%” (without the quotes) where the domain DN would be placed. Use Register-DMNameMapping to add additional values and the placeholder they will be inserted into. Use Get-DMNameMapping to retrieve a list of available mappings. This can be used to use the same content configuration across multiple environments, accounting for local naming differences.
Get-Content .\users.json | ConvertFrom-Json | Write-Output | Register-DMUser
Reads a json configuration file containing a list of objects with appropriate properties to import them as user configuration.
SamAccountName of the user to manage. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Name of the user to manage. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Given Name of the user to manage. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Surname (Family Name) of the user to manage. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Description of the user account. This is required and should describe the purpose / use of the account. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Whether the password should never expire. By default it WILL expire.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The user principal name the account should have. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 6
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The organizational unit the user should be placed in. Subject to string insertion.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 7
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Whether the user object should be enabled or disabled. Defaults to: Undefined
Type: TriBool
Parameter Sets: (All)
Aliases:
Accepted values: False, True, Undefined
Required: False
Position: 8
Default value: Undefined
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
By default, all defined user accounts must exist. By setting a user account optional, it will be tolerated if it exists, but not created if it does not.
Type: Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: 9
Default value: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Previous names the user object had. Will trigger a rename if a user is found under one of the old names but not the current one. Subject to string insertion.
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 10
Default value: @()
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Whether the user should be present. This can be used to trigger deletion of a managed account.
Type: Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: 11
Default value: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.