PowerShell: создайте нового пользователя Active Directory с паролем в качестве защищенной строки

2

Возникли проблемы с созданием команды для создания нового пользователя в PowerShell. Я использую следующий код:

PS C:\Users\Nicky> New-ADUser -Name johnd -GivenName John -Surname Doe -DisplayName John Doe $secpasswd = ConvertTo-SecureString -String "pa$$word1" -AsPlainText -Force -AccountPassword $secpasswd

Я могу заставить его работать без AccountPasswordтак что я думаю, что проблема заключается в преобразовании его в безопасную строку, поэтому -AccountPassword приму это.

Кто-нибудь есть идеи о том, как заставить это работать?

nkern0
источник

Ответы:

3

Ваш синтаксис неверен. Взгляни на New-ADUser страница справки от Microsoft и это один из SS64. Также, если у вас есть пробелы в вашей строке (пример: John Doe Вы должны в одиночку цитировать его.

Он должен иметь синтаксис, подобный следующему:

New-ADUser [-Name] <string> [-AccountExpirationDate <System.Nullable[System.DateTime]>]...

Вы можете сделать это вместо этого:

$secpasswd = ConvertTo-SecureString -String "pa$$word1" -AsPlainText -Force
New-ADuser -Name 'johnd' -GivenName'John' -Surname 'Doe' -DisplayName 'John Doe' -AccountPassword $secpasswd
shinjijai
источник
Другим возможным решением было бы поставить весь ConvertTo-SecureString немного в скобках или использовать $(ConvertTo-SecureString ...) что будет означать его первую оценку и вывод будет сделан вместо того, чтобы полагаться на то, что скобки обычно оцениваются первыми. Тем не менее, лучше иметь отдельную строку для удобства чтения.
Seth