Хорошо, давайте разберем, что происходит:
New-ADUser -Name "BoB Glen" -GivenName "BoB"-Surname "Glen"
-DisplayName "2003487" $secpasswd = ConvertTo-SecureString
-String "pa$$word1" -AsPlainText -Force -AccountPassword $secpsswd
-Enabled $true -Path "OU=Public,DC=Company,DC=epl,DC=local"
Символ `- это escape-символ в powershell.Пример того, как его использовать:
write-output " `" "
это выдает: " вместо ошибки and: отсутствует терминатор , который будет брошенЯ сделал " " ".Вы также можете использовать его для разделения длинных команд на многострочные строки, такие как
Get-Alias`
-name "%"
В Команде вы пытаетесь использовать -почему является параметром, и следующая вещь после него, какзначение, которое вы передаете этому параметру
-parameter Value
Также в powershell $ является переменной.
$Hello = "World"
Текущая проблема, с которой вы столкнулись, это то, что вы вызываете команду, а затем пытаетесь создать переменную в середине команды, а также запустить команду с помощью клавиши escape и завершить ее нажатием клавиши.escape-ключ (если он не является частью более крупной команды, которую вы разбиваете на новые строки)
Вы можете заключить значение в круглые скобки , например: (новая команда здесь)
Рабочая команда будет выглядеть следующим образом:
New-ADUser -Name "BoB Glen" -GivenName "BoB"-Surname "Glen" -DisplayName "2003487"`
-AccountPassword (ConvertTo-SecureString -String 'pa$$word1' -AsPlainText -Force)`
-Enabled $true -Path "OU=Public,DC=Company,DC=epl,DC=local"
Вы заметите, что переменная $ secpasswd удалена, команда ConvertTo-SecureString находится внутри круглые скобки () первый и последний escape-символы `удалены, добавлены escape-символы в новые строки в команде, чтобы сделать это визуально более понятным, и, наконец, заключили в кавычки слово pa $$word , потому что двойные кавычки будут пытаться читать $ как переменную, а одинарные кавычки читаются буквально.