Мне требуется исключить профили пользователей из папки \\Computer\c$\Users
при использовании Get-ChildItem
.
Мне потенциально нужно исключить 100 профилей с разных компьютеров, поэтому я создал переменную, которая содержит все профили пользователей из безопасности ADгруппу, которую я хочу исключить, но когда я запускаю приведенную ниже команду, она не работает, но если я перечисляю профили в виде простого текста, она работает.
Get-ChildItem "\\$computer\c$\Users" -Exclude $ListOfUsers
Но работает, если я запускаю Get-ChildItem "\\$computer\c$\Users" -Exclude Bob1,Bob2,Bob3,Bob4,Bob5
Мой код для получения пользователей из групп безопасности AD приведен ниже, а формат, в который он выводится, аналогичен указанному выше с запятыми.
## collects users from groups and adds to exlusion list.
$1stline = Get-ADGroupMember GG_1st_Line_Team | Select SamAccountName
$2ndline = Get-ADGroupMember GG_2nd_Line_Team | Select SamAccountName
$3rdline = Get-ADGroupMember GG_3rd_Line_Team | Select SamAccountName
$FieldTech = Get-ADGroupMember "Field tech" | select SamAccountname
$Excluded = $1stline + $2ndline + $3rdline + $Fieldtech | Out-File "C:\temp\Members.txt"
(get-content c:\temp\Members.txt) -join "," | out-file C:\temp\Format.txt
$format = get-content c:\temp\format.txt; $format = $format -replace '\s',''; $format = $format -replace ',SamAccountName,--------------,',''; $format = $format.trimend(",,") | Out-File "C:\temp\newFormat.txt"
$excluded = Get-Content C:\Temp\newFormat.txt
Это создаст текстовый файл с 100 именами без пробелов,только запятые для разделения пользователей.Если я Write-Host
переменная $newformat
, то запятые вместе с текстом - белые, но если я поставлю имена профилей в виде обычного текста, запятые будут серыми ...