gpt4 book ai didi

powershell - 比较不同位置的两个文件夹的权限

转载 作者:行者123 更新时间:2023-12-03 00:15:45 24 4
gpt4 key购买 nike

我正在尝试编写一个脚本来比较两个不同位置的两个文件夹的权限。两个位置的文件夹名称都是用户的 ADID,一些用户可能有两个或多个 AD 帐户。

$OutPath = ".\out1.csv"

$sourcepath1 = Get-Content ".\mwd_src.txt"
foreach ($path1 in $sourcepath1) {
$name1 = (Get-Item $Path1).name
$FolderAcl1 = (Get-Acl $Path1).Access | Select-Object IdentityReference

$Source = $FolderAcl1 | Where-Object { $_.IdentityReference -like "*$name1*"} |
Select-Object @{ Label = "Path"; Expression = { echo $Path1 } }, @{ Label = "Access"; Expression = { $_.IdentityReference } }
}

$sourcepath2 = Get-Content ".\mwd_dest.txt"
foreach ($path2 in $sourcepath2) {
$name2 = (Get-Item $Path2).Name
$FolderAcl2 = (Get-Acl $Path2).Access | Select-Object IdentityReference
$Dest = $FolderAcl2 | Where-Object { $_.IdentityReference -like "*$name2*" } |
Select-Object @{ Label = "Path"; Expression = { echo $Path2 } }, @{ Label = "Access"; Expression = { $_.IdentityReference } }
}

$Source1 = $Source | Select-Object -Unique
$Dest1 = $Dest | Select-Object -Unique

$Out = Compare-Object -ReferenceObject $Source1 -DifferenceObject $Dest1
$Out1 = $Out | Where-Object { $_.SideIndicator -match "=>" }

foreach($OutItem in $Out1) {
$Outitem.InputObject | Add-Content $OutPath
}

但是得到以下错误

“比较对象:无法将参数绑定(bind)到参数‘DifferenceObject’,因为它为空。
"

请协助。

最佳答案

由于我缺少您的路径信息,我无法重现您的代码,但我尝试将两个本地文件的 ACL 与 Compare-Object 进行比较.我创建了两个最初具有相同访问权限的文件。如果没有差异,则不返回任何内容。然后我从第二个文件的权限中删除了我的帐户并获得了输出。 (我缩短了输出以避免出现水平条。)SideIndicator用箭头表示差异属于哪个对象。

InputObject                                                              SideIndicator
----------- -------------
{System.Security.AccessControl.FileSystemAccessRule, System.Security... =>
{System.Security.AccessControl.FileSystemAccessRule, System.Security... <=

我的测试代码:
$ref = Get-Acl -Path .\Desktop\test1.txt
$diff = Get-Acl - Path .\Desktop\test2.txt

Compare-Object -ReferenceObject $ref.Access -DifferenceObject $diff.Access

我选择了 Access属性进行比较。

关于您的错误,请确保使用您期望的信息填充 DifferenceObject。

关于powershell - 比较不同位置的两个文件夹的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34272393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com