У меня есть сценарий powershell ниже, где я создаю нового пользователя &, пытаясь установить его требуемые свойства. Проблема, с которой я столкнулась, заключается в том, что я не могу установить случайный пароль, создав функцию «Get-Password». Пожалуйста, смотрите.Попытка создания случайного пароля
Import-Module ActiveDirectory
[xml]$dataSource = Get-Content C:\Names1.xml
$name = Read-Host 'Please enter the table name : '
$user_logon = $dataSource.names.$name | ? { $_.Rule_Label -eq 'Regular service account (user logon)'}
$display_name = $dataSource.names.$name | ? { $_.Rule_Label -eq 'Regular service account (display name)'}
$pre_windows = $dataSource.names.$name | ? { $_.Rule_Label -eq 'Regular service account (pre-Windows 2000)'}
Function GET-Temppassword() {
Param(
[int]$length=10,
[string[]]$sourcedata
)
For ($loop=1; $loop –le $length; $loop++) {
$TempPassword+=($sourcedata | GET-RANDOM)
}
return $TempPassword
}
switch ($name)
{
DevTable{foreach($dataRecord in $dataSource)
{
try
{
$cn=$user_logon.Output_Value
$sAMAccountName=$user_logon.Output_Value
$givenName=$user_logon.Output_Value
$sn=$user_logon.Output_Value
$displayName=$display_name.Output_Value
$userPrincipalName=$sAMAccountName + “@test.com”;
$alphabet=$NULL;For ($a=65;$a –le 90;$a++) {$alphabet+=,[char][byte]$a }
GET-Temppassword –length 10 –sourcedata $alphabet
New-ADUser $cn -SamAccountName $sAMAccountName -GivenName $givenName -Surname $sn -DisplayName $displayName -UserPrincipalName $userPrincipalName -accountPassword (ConvertTo-SecureString -AsPlainText $alphabet -Force) -PasswordNeverExpires $true -Path "OU=Service,OU=Accounts,DC=xyz,DC=com"
set-aduser $cn -replace @{comment="xxyyzz"}
set-aduser $cn -replace @{"account"=1}
Add-ADGroupMember -Identity xyz -Member $cn
Add-ADGroupMember -Identity abc -Member $cn
write-host "New DevTable ADUser has been created!!!";
}
catch [Exception]
{
write-host "Error - Requested AD Service Account is already present...Please check & confirm " -foreground "red"
}
}
break;
}
default {"The table could not be determined!!!"}
}
[System.GC]::Collect()
Кроме того, я хотел знать, является ли это наиболее подходящим способом установки случайного пароля.
Спасибо.
Что вы подразумеваете под словом «не удается установить случайный пароль»? Вы не получаете пароль или генерируете пароль, который не соответствует вашим ограничениям пароля (длина, тип символов и т. Д.)? Что, если есть, сообщения об ошибках вы получаете? – alroc
Мой пользователь не создается в этом случае, когда я пытаюсь добавить атрибут AccountPassword. – 0nir
Если вы разместите строку или две в содержании $ dataSource, это может помочь. – Peter