Новый пароль при первом входе в PowerShell - PullRequest
2 голосов
/ 16 января 2012

Мне просто любопытно, когда я создаю пользователей с PowerShell (я также автоматически генерирую psw для них), как я могу установить, что после первого входа они должны сменить пароль? Вот код, который создает пользователей:

    $container =[ADSI] $Connection
    $User = $container.Create("User", "cn="+$username)
$User.Put("sAMAccountName", $username)
    $User.Put("givenName", $Firstname)
    $User.Put("sn", $Surname)
    $User.Put("mail", $Email)
    $User.SetInfo()

    # Set Random Pwd and Enable Account

    $User.PsBase.Invoke("SetPassword", $Password)
    $User.PsBase.InvokeSet("AccountDisabled", $false)
    $User.SetInfo()

1 Ответ

3 голосов
/ 16 января 2012

Для принудительного изменения пароля при первом входе в систему добавьте:

$User.pwdLastSet = 0

Таким образом, скрипт становится:

$container =[ADSI] $Connection
$User = $container.Create("User", "cn="+$username)
$User.Put("sAMAccountName", $username)
$User.Put("givenName", $Firstname)
$User.Put("sn", $Surname)
$User.Put("mail", $Email)
$User.SetInfo()

# Set Random Pwd, force password change at first logon and Enable Account

$User.PsBase.Invoke("SetPassword", $Password)
$User.pwdLastSet = 0
$User.PsBase.InvokeSet("AccountDisabled", $false)
$User.SetInfo()
...