У меня есть сценарий PowerShell, который создает сайты IIS и настраивает параметры.Большинство из них работает должным образом, за исключением функции добавления пользователя домена в определенную локальную группу или, если группа не существует, чтобы создать группу, а затем добавить пользователя.Я получаю эту ошибку при добавлении в группу:
Исключение вызывает "add" с аргументом (ами) "1": "Не удалось добавить или удалить участника из локальной группы, поскольку онне существует.
У меня PowerShell v1.0, поэтому у меня нет доступа к модулю Microsoft.PowerShell.LocalAccounts, поэтому использование Add-LocalGroupMember
и New-LocalGroup
не вариант.
function addEventLogWriter($appPoolUser) {
$user = $appPoolUser
$group = "Event Log Writers"
$description = "Members of this group can write event logs from local machine"
#try{
$groupObj =[ADSI]"WinNT://./$group,group"
$membersObj = @($groupObj.psbase.Invoke("Members"))
$members = ($membersObj | foreach {
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)
})
Write-Output "Adding Service Account To Event Log Writers..."
if ($members -contains $user) {
Write-Host "$user already exists in the group $group..."
} else {
$groupObj.add("WinNT://./$user,user")
Write-Output "$user added to $group"
}
}
На данный момент группа 'Регистраторы журнала событий' создана, но в случае, если это не так (т. Е. Новые сборки сервера и т. Д.), Я хотел бы, чтобы моя функция проверила, чтобы убедиться, что группа существует.Если нет, создайте группу, затем добавьте пользователя.