Редактирование групп пользователей с помощью Powershell - PullRequest
0 голосов
/ 09 июня 2011

Я хотел добавить несколько членов в группу локальных администраторов, ниже приведен код

function Add-Admin {
[CmdletBinding()]
Param
([Parameter(Mandatory=$true,ValueFromPipeline=$true,HelpMessage="UserName to be added to local Admin Group")]
[string[]]
$username
,[Parameter(Mandatory=$true,ValueFromPipeline=$true,HelpMessage="Domain in which the UserName exists")]
[string[]]
$domain
)
$strComputer="localHost"
$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$computer.name
$Group = $computer.psbase.children.find("administrators")
$Group.Add("WinNT://" + $domain + "/" + $username)
$Group.name
$Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
}

когда я запускаю функцию, я могу запустить ее как

Add-Admin -username vinith -domain corp.a.org

я хочу предоставить несколько имен пользователей для добавления

Add-Admin -username vinith, ith, itops -domain corp.a.org

Может ли кто-нибудь помочь мне с ходом и добавить vinith, ith, itops (более одного пользователя одновременно)

1 Ответ

1 голос
/ 09 июня 2011

Просто рассмотрите вашу переменную $ username как массив (как есть)

и замените:

$Group.Add("WinNT://" + $domain + "/" + $username)

на

foreach ($user in $username)
{
  $Group.Add("WinNT://" + $domain + "/" + $user)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...