Блоки попытки/выгоды поддержек PowerShell 2.0, таким образом, можно поймать и обработать любые исключения.
Можно поместить a Write-Host
в Вашем блоке выгоды для повторения к консоли, какой пользователь вызывает сценарий проблема.
Ваш сценарий, например, был бы похож на это.
$objOU=[ADSI]“LDAP://OU=People,DC=testdomain,DC=com”
$dataSource=import-csv “test users2.csv”
foreach($dataRecord in $datasource)
{
try
{
$cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
$sAMAccountName=$dataRecord.UserName
$givenName=$dataRecord.FirstName
$sn=$dataRecord.LastName
$sAMAccountName=$sAMAccountName.ToLower()
$displayName=$givenName + " " + $sn
$userPrincipalName=$sAMAccountName + “@testdomain.com”
$sISID=$dataRecord.Sisid
$objUser=$objOU.Create(“user”,”CN=”+$cn)
$objUser.Put(“sAMAccountName”,$sAMAccountName)
$objUser.Put(“userPrincipalName”,$userPrincipalName)
$objUser.Put(“displayName”,$displayName)
$objUser.Put(“givenName”,$givenName)
$objUser.Put(“sn”,$sn)
$objUser.Put("description",$dataRecord.Gender + ", " + "Class of " + $dataRecord.Graduation + ", " + $sISID)
$objUser.SetInfo()
$objUser.SetPassword($dataRecord.Password)
$objUser.psbase.InvokeSet(“AccountDisabled”,$false)
$objUser.SetInfo()
}
catch
{
Write-Host "*** Exception Handler ***"
Write-Host "Problem username: " $dataRecord.UserName
Write-Host "*************************"
}
}
Что касается причин сценарий мог бы отказать, действительно ли sAMAccountName уникален (например, John Smith и James Smith оба являющийся jsmith), и sAMAccountName содержит какие-либо специальные символы (символы, буквы с диакритическими знаками и т.д.)? Существует несколько причин, я могу думать первое, что пришло на ум, почему это могло бы вызвать исключение.
Создать псевдоним для звукового сигнала, который будет выводить эхо -en "\ 007" (символ звукового сигнала (колокольчика))
Обычно звуковой сигнал использует динамик вашего компьютера, а не звонок терминала
Это сработало для меня как на OSX, так и на удаленный сервер unix, писк через обычный звуковой сигнал: echo -e '\ a'
beep(){ echo -e '\a';}
beep
sleep 5 & beep # beeps now
sleep 5; beep # beep in 5s
# same thing using ruby -e 'sleep 5'
Я знаю, старая ветка, но ... В машинной замазке Windows символы колокольчика издают звуковой сигнал Windows по умолчанию, используя динамики ПК, а не зуммер материнской платы. Может быть, вы используете старый компьютер без громкоговорителей для мониторинга серверов, как я?