所以我有一小段代码我试图导入数据并最终将用户移动到另一个OU。 CSV有两个带标题的列,User - 用用户名填充,OU用OU填充用户应该移动到的OU。
EX: 用户或 smithja OR =员工,OU = 002,OR =办公室,DC = Domain,DC = com frankro OR =员工,OR = 032,OR =办公室,DC = Domain,DC = com
我不断收到有关无法将'system.object []'转换为参数'Identity'所需类型'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
}
你得到你得到的东西的原因是因为你没有传递正确的信息而你还有其他一些错误。
您没有名为$ 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