![]() |
запуск скрипта без параметров, скрипт предлагал ввести параметры
Всем привет!!!
Есть скрипт, который создает пользователя и почтовый ящик для него, но для этого нужно передать скрипту несколько параметров и соответственно строка получается очень длинной, как то можно сделать что бы при запуске скрипта без параметров, скрипт давал возможность вводить параметры поочередно, т.е запустил скрипт он проверил что нет значений для требуемых параметров и в консоли вывел имя первого параметра что то вроде param1:дальше вводишь значения для этого параметра и нажимаешь ентер, ниже снова просит значения для param2: , и тд для всех параметров. Можно такое сделать? Пример скрипта: Код:
Param ($account, $al, $gname, $sname, $OrUn, $Dep) |
1) Использовать Read-Host
2) Указать параметр mandatory Код:
[CmdletBinding()] |
Спасибо, сработало!!!! еще просьба подскажите насколько правильно составлен скрипт и что еще можно добавить?
полная версия скрипта: Код:
[CmdletBinding()] Да, еще не получается написать нормально условия для отправки сообщения только директору (если он присутствует в группе, куда дабовляется новый пользователь) или начальнику (если директора в данной группе нет) |
насколько правильно составлен скрипт и что еще можно добавить?? - Это уже без меня. :)
Ошибки: добавить после блока Param() оператор trap. Код:
Param(...) New-MailBox .... -ErrorAction Stop Не вижу,особого смысла использовать код отправки два раза. Код:
$regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail | Where {$_.Description -match "Директор|Начальник"} | %{ |
Kazun, большое спасибо!!!
|
Kazun, не подскажите по чему в скрипте не отрабатывается условие Where {$_.Description -match "Директор|Начальник"}.
То есть если директор то письмо уходит, а если начальник, то условие не работает, письмо не уходит. |
Вывод покажите:
$regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail | Where {$_.Description -match "Начальник"} и $regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail | Group Description |
Цитата:
Код:
PS C:\script> $regname = "GG-CAP-AdmPensionAccounts-Payments-Transfers" Код:
PS C:\script> $regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail | Group Description |
Как видите условие отработало.
|
Так то оно и в скрипте отработает, а вот с условием директор или начальник, не работатет
Код:
PS C:\script> $regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail |Where {$_.Description -match "Дир |
А зачем пробелы вставили между |,их не должно быть?
$regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail |Where {$_.Description -match "Директор | Начальник"} |
Блин, надо же такая мелочь, а столько проблем :). Спасибо вам большое!!!
|
Цитата:
Код:
$regname | Get-ADGroupMember | Get-AdUser -Properties Description, mail |Where {$_.Description -match "Директор|Начальник"} |
Добавьте тогда - Where {$_.Description -match "Директор|Начальник"} | Select -First 1 ,то письма будут отправляться только первому.
|
Время: 17:28. |
Время: 17:28.
© OSzone.net 2001-