2015-10-26 2 views
2

PS Noob - Не уверен, что такого рода вещи даже называют.Управление параметрами Powershell

Хотите повторить (?!) Через множество параметров -identity. Например, мне нужно предоставить права Joe большому количеству списков Distro.

Add-ADPermission -Identity "Dallas Red Team" -User "JoeB" -AccessRights WriteProperty -Properties "Member" 

«Даллас» и «Команда» являются постоянными, но цвет команды является переменным.

+2

И что вы пробовали? – GregL

+1

Я не уверен, почему фолк думает, что это вопрос программирования? –

ответ

4

В зависимости от того, насколько сложна ваша операция, электронная таблица (CSV) может использоваться для импорта данных в PowerShell. В сочетании с циклом foreach вы должны решить, что хотите.

Пример CSV данные:

Name,UserID,Group 
"Joe Biden","JoeB","Dallas Red Team" 
"Joe Biden","JoeB","Dallas Green Team" 
"Joe Biden","JoeB","Dallas Blue Team" 

Пример PowerShell:

> Import-Csv "C:\users\user\desktop\Dallas.csv" | Foreach { Add-ADPermission -Identity $_.Group -User $_.UserID } 

Пример PowerShell, чтобы перечислить все "Даллас" группы:

Get-ADgroup -Anr "Даллас" | FL

Callouts:

  • Import-CSV Командлет сохраняет содержимое файла CSV в массиве в PowerShell. Вы также можете привязать это к переменной, если хотите.
  • | (труба) цепи две команды вместе. В этом примере вы сначала загружаете данные, которые хотите использовать, затем вы связываете их с действиями.
  • Foreach проходит через каждую строку массива и выполняет команду в curlies { }.
  • $_. префикс означает текущий объект. Это эффективно говорит команде использовать текущее значение для упомянутого столбца, для текущей строки цикла foreach, который запущен.
  • Get-ADGroup -Anr ANR Неоднозначное разрешение имени. Иногда это может быть довольно неплохо, но если вы можете сначала набрать номер в отдельном запросе, вы можете использовать его для создания целевого списка групп. Вы также можете передать вывод Export-Csv для создания вашего CSV-файла для последующего импорта. Классный!
+0

Да, я думал о каком-то массиве, но дело в том, чтобы не печатать сотни имен DL. Был надеется, что существует какой-то шаблон, который игнорирует или принимает переменную часть параметра идентификации. Джо нужно применять только к каждой команде «Даллас *» - цвет команды, в данном случае не важен. –

+0

Вы можете попробовать Get-ADGroup -Anr Dallas. Если это возвращает только группы, которые вы хотите, вы можете перевести список на аналогичную команду. – blaughw

+0

Неоднозначное разрешение имен - это весело, но не очень надежно. Сначала попробуйте Get-команду. – blaughw

Смежные вопросы