New-ADuser - Аргумент OtherAttributes - PullRequest
0 голосов
/ 13 мая 2018

Я работаю над скриптом New-ADuser для компании, в которой я работаю. Я установил приведенную ниже хеш-таблицу, в которой значение «серийный номер» устанавливается или не устанавливается в зависимости от требований нового пользователя.

$hashtable = @{

Name = $User.Surname + " " + $User.Givenname
Surname = $User.Surname
Givenname = $User.Givenname
Samaccountname = $User.Samaccountname
Emailaddress = $User.Emailaddress
Accountpassword = $User.password | ConvertTo-SecureString -AsPlainText -Force
Path = $User.Path
UserPrincipalName = $User.Samaccountname + "@anything.com"
OtherAttributes = @{serialNumber =$User.serialnumber}

}

Я использую CSV-файл для получения всей информации, но в случае, если поле 'serialnumber' не заполнено, я не могу заставить свой сценарий работать. Он ошибается чем-то вроде «аргумент нулевой или пустой».

Есть ли способ обойти эту проблему?

Спасибо.

1 Ответ

0 голосов
/ 13 мая 2018
$serialNum = ""
$Props = @{
    Name = "testmay14_2"
    Surname = "may14_2"
    GivenName = "test"
    SamaccountName = "testmay14_2" 
    EmailAddress = "testmay14_2@domain.com"
    Accountpassword = "Password!1" |ConvertTo-SecureString -AsPlainText -Force
    UserPrincipalName = "testmay14_2@domain.com"
    OtherAttributes = if(!([string]::IsNullOrEmpty($serialNum))){@{serialNumber = $serialNum}}else {@{serialNumber = 'NA'}}
}
New-ADUser @Props

Может быть, вы вообще не касаетесь атрибута SerialNumber в блоке 'else' и используете какой-то другой атрибут, который не используется ... просто мысль

OtherAttributes = if(!([string]::IsNullOrEmpty($serialNum))){@{serialNumber = $serialNum}}else {@{Title="TheOneWithoutSerialNumber"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...