Попытка создать скрипт, который получит мой отфильтрованный список Get-Adcomputer, а затем запустить команду на каждом
Во-первых, я очень новичок в powershell. Каждый раз, когда я думаю, что я понимаю логику, я иду WTF.. Если бы это был bash, это было бы так легко и т. Д..
что я пытаюсь сделать именно...
Получить все компьютеры из AD, которые встречают Xiopwb*
критерии. Как только у меня есть список, мне нужно изменить разрешения на \\Xiopwb20\Nsiwebroot
Директория только для администраторов домена и группы безопасности "webadmins"
Моя логика:
Получить все компьютеры из AD, которые встречаются Xio*PWB*
Возьмите только НАИМЕНОВАНИЕ объектов в этом списке навсегда "имя" в этом списке сделать Get-ACL \\Name from list\Nsiwebroot
удалить * добавить пользователя / группу.
Что я имею:
PS C:\Windows\system32> Get-ADComputer -filter * | Where-Object {$_.Name -like "xiopwb*"} | Select Name | ForEach-Object { Get-Acl \\$_.Name\nsiwebroot}
все до "ForEach" работает... Я получаю только имена ПК, которые мне нужны, и т.д..
По-простому, мне не нужен скрипт на 100 строк.
Спасибо
** Обновить **
это двойной \ его просто не показывает... не знаю почему
Похоже, он делает то, что я хочу до определенной степени. Однако его выплевывать формат в стиле фанк. @{Name=XIOPWB09}
PS C:\Windows\system32> Get-ADComputer -filter * | Where-Object {$_.Name -like "xiopwb*"} | Select Name | ForEach-Object {get-acl "\\$_\D$\nsiwebroot"}
get-acl: Невозможно найти путь '\@{Name=XIOPWB09}\D$\nsiwebroot', так как он не существует. В строке:1 символ:99 + ... opwb*"} | Выбрать имя | ForEach-Object {get-acl "\$_\D$\nsiwebroot"} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (:) [Get-Acl], ItemNotFoundException + FullyQualifiedErrorId: GetAcl_PathNotFound_Exception,Microsoft.PowerShell.Commands.GetAclCommand
get-acl: Невозможно найти путь '\@{Name=XIOPWB06}\D$\nsiwebroot', так как он не существует. В строке:1 символ:99 + ... opwb*"} | Выбрать имя | ForEach-Object {get-acl "\$_\D$\nsiwebroot"} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (:) [Get-Acl], ItemNotFoundException + FullyQualifiedErrorId: GetAcl_PathNotFound_Exception,Microsoft.PowerShell.Commands.GetAclCommand
1 ответ
"Select Name
msgstr "возвращает объект с именем заголовка таблицы."Select -ExpandProperty Name
"Это то, что нужно здесь, что преобразует его в строку.
С Уважением,
kvprasoon