gpt4 book ai didi

windows - 检索Powershell中日期范围之间修改的文件的完整路径和文件权限

转载 作者:行者123 更新时间:2023-12-03 01:24:42 25 4
gpt4 key购买 nike

考虑到这是我的第一篇关于stackoverflow的文章,对PowerShell来说还很新。我要求大家对您的回复保持温和。
我正在尝试在巨大的生产服务器的日期范围之间修改内容。我希望将内容导出到.csv文件,其列分别代表FullName,LastWriteTime,User / Group,包含已修改文件的关联文件夹的权限以及是否已继承。
我遍历了论坛,文章等大量内容,但未能获得所需的输出。这是我一直在尝试运行的代码:

    $BaseFolder = "<path to be traversed>"

[datetime]$start = '2019-10-05 00:00:00'
[datetime]$end = '2020-10-25 00:00:00'

$Acl = Get-Acl -Path $BaseFolder

#For each Group or Username in ACL
$Files = ForEach ($Access in $Acl.Access){

Get-ChildItem -Path $BaseFolder -Recurse -Force | Where-Object { $_.LastWriteTime -gt $start -AND $_.LastWriteTime -lt $end } |
Select-Object #FullName, LastWriteTime
@{Name='Path';Expression={$_.FullName}},
@{Name='LastWriteTime';Expression={$_.LastWriteTime}},
@{Name='Group/User';Expression=$Access.IdentityReference},
@{Name='Permissions';Expression=$Access.FileSystemRights},
@{Name='Inherited';Expression=$Access.IsInherited}

}

$Files | Export-Csv "<save-path>\Folder-Permissions-$((Get-Date).ToString("yyyy-MM-dd_HHmmss")).csv" -NoTypeInformation

以下是一些更好的主意的屏幕截图:
电流输出:
Although this does generate some output, it is not what I desire.
所需的输出:
I desire an output similar to this(I have heavily edited this screenshot)
非常感谢您的帮助,在此先感谢您!
问候,
曼尼斯·穆西·金塔金迪(Manish Murthy Chintakindi)

最佳答案

我猜想是select-object之后的注释使所有内容搞砸了,因为后面有换行符,并且哈希表不会作为参数传递给命令。另外,表达式定义中存在一个问题(您必须将它们放在脚本块{}中)。
这应该工作:

$BaseFolder = "<path to be traversed>"

[datetime]$start = '2019-10-05 00:00:00'
[datetime]$end = '2020-10-25 00:00:00'

$Acl = Get-Acl -Path $BaseFolder

$Files = ForEach ($Access in $Acl.Access){
Get-ChildItem -Path $BaseFolder -Recurse -Force |
Where-Object { $_.LastWriteTime -gt $start -AND $_.LastWriteTime -lt $end } |
Select-Object @{Name='Path';Expression={$_.FullName}},
@{Name='LastWriteTime';Expression={$_.LastWriteTime}},
@{Name='Group/User';Expression={$Access.IdentityReference}},
@{Name='Permissions';Expression={$Access.FileSystemRights}},
@{Name='Inherited';Expression={$Access.IsInherited}}
}

$Files | Export-Csv "<save-path>\Folder-Permissions-$((Get-Date).ToString("yyyy-MM-dd_HHmmss")).csv" -NoTypeInformation

关于windows - 检索Powershell中日期范围之间修改的文件的完整路径和文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64575547/

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