【发布时间】:2024-04-25 17:45:01
【问题描述】:
我正在尝试获取 Get-ChildItem 的结果以从 CSV 过滤这些文件夹的列表
我有许多与用户 SamAccountName 同名的主文件夹(和往常一样)
所有主文件夹都存储在我的共享中: \域名\用户
我的 CSV 包含与主文件夹同名的用户 示例:
SamAccountName
123456
123457
123458
我想要处理的脚本部分如下所示:
$SAM = import-csv "C:\Scripts\HomeDrive.csv"
$HomeDriveSharePath = "\\Domain\users"
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.Name -Match $SAM.samaccountname -AND $_.PsIsContainer -eq $true}
对于我的 CSV,这不会返回任何结果(尽管 CSV 中示例用户的文件夹肯定存在)
如果我运行它,它会返回所有主文件夹(应该如此)
Get-ChildItem $HomeDriveSharePath
如果我运行这个:
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.Name -Match "123456" -AND $_.PsIsContainer -eq $true}
然后我确实显示了相应的文件夹(证明行类型有效并且该文件夹确实存在)
这需要为数百个用户运行迁移,否则我只能坐在这里手动进行:-(
第一次发帖,如果格式或解释不正确,请道歉...彻底搜索该网站,Google 并没有恢复我似乎拥有的确切场景。
我很困惑...感谢您的帮助,
谢谢
【问题讨论】:
-
尝试将 $SAM.samaccountname 替换为 $SAM.samaccountname.trim()
-
嗨,安东尼。我按照建议尝试并得到了以下输出: Get-ChildItem :输入对象不能绑定到命令的任何参数,因为命令不接受管道输入,或者输入及其属性与任何接受管道的参数都不匹配输入。在 line:1 char:42
标签: csv powershell get-childitem home-directory