Powershell:从 csv 获取 childitem 文件夹
Powershell: get-childitem folder from csv
我正在尝试获取 Get-ChildItem 的结果以从 CSV 中过滤这些文件夹的列表
我有许多与用户 SamAccountName 同名的主文件夹(和往常一样)
所有主文件夹都存储在我的共享中:
\DomainName\Users
我的 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 returns 没有结果(尽管 CSV 中示例用户的文件夹确实存在)
如果我 运行 这个,它 returns 所有的主文件夹(它应该)
Get-ChildItem $HomeDriveSharePath
如果我运行这个:
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.Name -Match "123456" -AND $_.PsIsContainer -eq $true}
然后我确实显示了相应的文件夹(证明行的类型和文件夹确实存在)
对于数百名用户来说,这需要 运行 进行迁移,否则我只会坐在这里手动进行:-(
第一次发帖,如果格式不正确或解释不正确,我们深表歉意...彻底搜索该站点,Google 没有带回我似乎遇到的确切情况。
我很困惑...感谢您的帮助,
谢谢
$SAM = import-csv "C:\Scripts\HomeDrive.csv"
$HomeDriveSharePath = "\Domain\users"
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.PsIsContainer}
$HomeDirectories = $(foreach ($name in $sam) {
$HomeDirectories | ? {$_.name -match $name.samaccountname.trim()}
})
或
$HomeDirectories = $sam | % { dir $HomeDriveSharePath -Filter $_.samaccountname.trim() -Directory -Name }
我正在尝试获取 Get-ChildItem 的结果以从 CSV 中过滤这些文件夹的列表
我有许多与用户 SamAccountName 同名的主文件夹(和往常一样)
所有主文件夹都存储在我的共享中: \DomainName\Users
我的 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 returns 没有结果(尽管 CSV 中示例用户的文件夹确实存在)
如果我 运行 这个,它 returns 所有的主文件夹(它应该)
Get-ChildItem $HomeDriveSharePath
如果我运行这个:
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.Name -Match "123456" -AND $_.PsIsContainer -eq $true}
然后我确实显示了相应的文件夹(证明行的类型和文件夹确实存在)
对于数百名用户来说,这需要 运行 进行迁移,否则我只会坐在这里手动进行:-(
第一次发帖,如果格式不正确或解释不正确,我们深表歉意...彻底搜索该站点,Google 没有带回我似乎遇到的确切情况。
我很困惑...感谢您的帮助,
谢谢
$SAM = import-csv "C:\Scripts\HomeDrive.csv"
$HomeDriveSharePath = "\Domain\users"
$HomeDirectories = Get-ChildItem $HomeDriveSharePath | Where {$_.PsIsContainer}
$HomeDirectories = $(foreach ($name in $sam) {
$HomeDirectories | ? {$_.name -match $name.samaccountname.trim()}
})
或
$HomeDirectories = $sam | % { dir $HomeDriveSharePath -Filter $_.samaccountname.trim() -Directory -Name }