我正在制作一份监控一系列数据共享的ACL的报告,当我运行我的脚本时,我会在屏幕截图中看到下面的结果。如您所见,Path: \\rest_of_path
显示在每个对象上方。
这看起来就像我使用Get-Member
时,TypeName:
显示在该位置。我希望能够获取Path
值并将其添加到我的报告中,以便我可以在PowerShell控制台中生成类似于输出的内容。我怎么能这样做?
以下是代码:(我在这里使用NTFSSecurity模块,https://blogs.technet.microsoft.com/heyscriptingguy/2014/11/23/weekend-scripter-manage-ntfs-inheritance-and-use-privileges/)
import-module -Name \\storagesrvr\it\!scripts\ntfssecurity -verbose
$shares = get-content \\testserver\c$\tmp\share.list.txt
$results = @()
foreach($share in $shares){
$ntfs = Get-NTFSAccess $share
$results += $ntfs
}
答案 0 :(得分:1)
看起来Path
是来自FullName
和InheritanceEnabled
的格式化组合
$results | ForEach-Object {
$_ | Select-Object @{
Name="Path"
Expression={"$($_.Fullname) $(if(!($_.InheritanceEnabled)) {'(Inheritance Disabled)'})"}
}
}
或者将计算出的属性直接放入$results
import-module -Name \\storagesrvr\it\!scripts\ntfssecurity -verbose
$shares = get-content \\testserver\c$\tmp\share.list.txt
$results = foreach($share in $shares){
$ntfs = Get-NTFSAccess $share |
select *,@{n="Path";e={"$($_.Fullname) $(if(($_.InheritanceEnabled)) {'(Inheritance Disabled)'})"}}
}