Eu tenho visto outras perguntas semelhantes, mas estou olhando para automatizar completamente o processo e todos os exemplos que encontrei até agora estão faltando peças que eu preciso. Além disso, este é o primeiro script poweshell que eu já escrevi, então é meio hacky.
Eu estou olhando para adicionar um usuário ao diretório ativo, mas as seguintes configurações devem ser atendidas.
Aqui está meu script atual até agora
'***Active Directory User Creation***'
$firstname = Read-Host 'First Name:'
$lastname = Read-Host 'Last Name:'
$email = Read-Host 'E-mail:'
$username = Read-Host 'Windows Username:'
$userDefaultPass = Read-Host 'Use Default Password(y/n):'
while($userDefaultPass -ne 'n' -and $userDefaultPass -ne 'y')
{
$userDefaultPass = Read-Host 'Use Default Password(y/n)'
}
if($userDefaultPass -eq 'y')
{
$password = 'password012'
}
elseif($userDefaultPass -eq 'n')
{
$password = '/'
$tempPass = '\'
while($tempPass -ne $password)
{
if($password -ne '/')
{
'Passwords do not match!'
}
$password = ConvertTo-SecureString Read-Host 'Enter Password'
$tempPass = ConvertTo-SecureString Read-Host 'Re-enter Password'
}
}
New-ADUser
-AccountPassword $password
-ChangePasswordAtLogon $true
-DisplayName $lastname + ', ' + $firstname
-Enabled $true
-Name $lastname + ', ' + $firstname
-SamAccountName smithj
-Path “OU=Users,OU=Company,DC=home,DC=local”
-givenname $firstname
-surname $lastname
-userprincipalname ($username + “@test.local”)
-PasswordNeverExpires $true
}
Add-ADGroupMember -Identity TestGroup -Member $Username
Revisão: Aqui está meu script final
import-module ActiveDirectory
# This script creates a user to the active directory
#'***Active Directory User Creation***'
$firstname = $args[0]
$lastname = $args[1]
$username = $args[2]
$password = ConvertTo-SecureString $args[3] -AsPlainText -Force
$passwordExpires = $args[4]
$domain = $args[5]
$userPrincipal = ($username + $domain)
New-ADUser '
-AccountPassword $password '
-DisplayName ($username) '
-Enabled $true '
-Name ($firstname + " " + $lastname) '
-SamAccountName $username '
-Path “CN=Users,DC=myDomain,DC=myCompany,DC=com” '
-givenname $firstname '
-surname $lastname '
-ChangePasswordAtLogon $true '
-userprincipalname ($userPrincipal) '