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 }