$FShares = "\\server\share"
ForEach ($f in $FShares)
{
$Access = Get-Acl $f | select-object -ExpandProperty Access | Select-Object IdentityReference,FileSystemRights | Where-Object {$_.IdentityReference -like "XXXXXXXXX*"}
Write-Output "------- Share ------------------------------"
Write-Output ""
Write-Output $f
Write-Output ""
ForEach ($a in $Access)
{
Write-Output "------- Groups, Permission and Users -------"
Write-Output ""
Write-Output $a
Write-Output ""
$strGroup = $a.IdentityReference.ToString()
$Members = $strGroup.split('\')[1] | foreach {Get-ADGroupMember -Recursive $_} | select-object Name
Write-Output $Members
Write-Output ""
Write-Output ""
}
}
当我运行此脚本时,行(Write-Output $ Members)不会打印到屏幕。运行脚本后,我可以手动运行它(执行写入输出或只是变量名称)并打印正常,所以我知道变量有一个值。不确定这里有什么问题
答案 0 :(得分:0)
更改
Write-Output $a
到
Write-Output "$a"
编辑,更好:
Write-Output $a | ft
希望扩展为什么会破坏它,但我不知道。