Скрипт помогает выбрать файловый ресурс, после чего выводит список отфильтрованных групп, которые вхожи в ресурс, а потом позволяет посмотреть информацию о пользователях этой группы.
clear
Get-SmbMapping | Format-Table
Import-Module ActiveDirectory
$way_to_res = Read-Host "Введите сервер "
$way_to_res1 = '\\' + $way_to_res + '\Folder'
Get-ChildItem -Path $way_to_res1 | Format-table Name
$inp_res = Read-Host "Введите каталог "
$kek = $way_to_res1 +'\'+ $inp_res
$lol = Get-Acl $kek
$lol = $lol.Access | Where-Object `
{
$_.IdentityReference -notlike "*test1*" -and `
$_.IdentityReference -notlike "*test2*" -and `
$_.IdentityReference -notlike "test3" -and `
$_.IdentityReference -notlike "test4" -and `
$_.IdentityReference -notlike "*test5*" -and `
$_.IdentityReference -notlike "*test6*"}
#Write-Host 'Пользовательские группы' -ForegroundColor Magenta
$lol.IdentityReference
#Write-Host 'Сетевые диски' -ForegroundColor Cyan
Get-SmbMapping | Format-Table
$var1 = Read-Host "Введите группу"
$var2 = Get-ADGroupMember -Identity $var1| Select-Object SamAccountName
$myarray = [System.Collections.ArrayList]::new()
foreach ($item in $var2)
{
$list = Get-ADUser -Identity $item.SamAccountName -Properties Description, CanonicalName |Select-Object Description, CanonicalName
[void]$myArray.Add($list)
}
$myArray
Read-Host
Дело в том, что команда Get-SmbMapping | Format-Table , которая идёт после $lol.IdentityReference, не нужна в этой части программы. Но почему то без неё я не смогу увидеть содержание $lol.IdentityReference, которая стоит перед ней. Она просто не выведется на экран.
Подскажите пожалуйста, почему так может происходить? Я бы хотел избавиться от этого костыля. Заранее благодарю.