所以我有一小段代码我尝试导入数据并最终将用户移动到另一个OU。 CSV有两个带标题的列,User - 用用户名填充,OU用OU填充用户应该移动到的用户。
EX:
用户OU
smithja OU =员工,OU = 002,OU =办公室,DC =域,DC = com
frankro OU =员工,OU = 032,OU =办公室,DC =域,DC = com
我一直收到关于“转换”系统。对象[]'到类型' microsoft.activedirectory.management.aduser'参数'身份'要求。任何帮助表示赞赏。
# Import CSV
$Move = Import-Csv -Path "F:\Desktop\MoveMe.csv"
$Imported_csv | ForEach-Object {
get-aduser -Identity $Move.User | move-adobject -TargetPath $Move.OU -whatif
Echo "User: " $Move.User "-" $Move.OU
}
答案 0 :(得分:1)
您获得所需内容的原因是因为您没有传递正确的信息而且还有其他错误。
您没有名为$ Imported_csv的填充变量。你有一个名为$ Move的填充变量。
你的街区应该是这样的......
$Move = Import-Csv -Path "F:\Desktop\MoveMe.csv"
$Move | ForEach-Object {
get-aduser -Identity $_.User | move-adobject -TargetPath $_.OU -whatif
'User: ' + $_.User + '- ' +$_.OU
}
写入屏幕是默认的,因此,不需要回声(除了习惯8 ^})当然这是别名。
Get-Alias -Name echo
CommandType Name
Alias echo -> Write-Output