Изменить пароль локального администратора через GPO

Я развернул Active Directory в небольшой компании. Каждому пользователю доверяют права локального администратора на его компьютере с учетной записью домена.

Однако, если пользователи не могут войти в систему на своем компьютере, мне нужно включить локальные учетные записи администратора и с паролем. Проблема в том, что изменение пароля через GPO было удалено, я не могу использовать его для изменения пароля администратора.

Это удаление связано с недостатком безопасности, который не имеет значения, поскольку пользователи являются локальными администраторами.

Что мне нужно, так это простой способ активировать и изменить пароль встроенной учетной записи администратора через GPO без проблем с двухстраничным скриптом (я знаю, что он есть). Пароль должен быть одинаковым для всех и никогда не меняться.

1
задан 8 July 2016 в 11:52
3 ответа

Добавьте этот сценарий входа в систему, выберите Powershell, помните, что учетная запись администратора остается отключенной, нам нужно активировать ее, добавленную в последней строке сценария.

$computer=$env:computername
$user = "administrator"
$Password = "password"
$user = [adsi]"WinNT://$computer/$user,user"
$user.SetPassword($Password)
net user administrator /active:yes
1
ответ дан 3 December 2019 в 16:17

вы можете заменить это на LAPS

7
ответ дан 3 December 2019 в 16:17

Если вы хотите использовать сценарий, а не групповую политику, он не должен занимать две страницы. Поскольку у меня все равно лежат сценарии для другой цели, которые можно изменить, я, вероятно, сделал бы что-то вроде:

Получите список компьютеров (возможно, потребуется настройка для вашей среды, как для OU, так и для лимита) :

dsquery computer ou=sbscomputers,ou=computers,ou=mybusiness,dc=mydomain,dc=local -o rdn -limit 500  > control.txt

SetLocal EnableDelayedExpansion

FOR /F %%L IN (control.txt) DO (
    set line=%%L
    echo !line!
    set line=!line:"=!
    echo !line!
    echo !line! >> process.txt
)

sort < process.txt > sorted.txt

del process.txt
move sorted.txt control.txt

Затем вы можете сделать что-нибудь вроде:

$computers = Get-Content -Path c:\path\to\control.txt
$user = "administrator"
$Password = "password"
Foreach($computer in $computers) {
    $user = [adsi]"WinNT://$computer/$user,user"
    $user.SetPassword($Password)
    $user.SetInfo()
    echo "Password reset on $computer"
}

Еще лучше сохранить пароль в виде защищенной строки. В статье есть полезные инструкции для этого. Если вы этого не сделаете, вы, вероятно, захотите отредактировать пароль из второго скрипта после его запуска.

2
ответ дан 3 December 2019 в 16:17

Теги

Похожие вопросы