将用户广告从 OU 更改为 powershell 时出错
error to change user ad from OU to powershell
我正在创建一个脚本来更改某些 OU 用户,但它给出了一个参数错误并且无法正常工作。
用户和 OU 正在通过 .csv 文件列出,字符串获取信息,但将其放入代码行时不起作用。
Import-Csv -Path C:\Users\leonan.martins\Desktop\teste1.csv -Delimiter ',' -PipelineVariable User | ForEach-Object -Process {
$us = $User.user
$OU1 = $User.Regiao
$OU2 = $User.Diretoria
$OU3 = $User.Area
get-aduser $User | move-adobject -TargetPath "OU=$OU1,OU=$OU2,OU=$OU3,DC=lab,DC=suporti,DC=local"
}
你的错误的可爱原因是 $us = $User.user
上的拼写错误以及 Get-ADUser
调用中引用 $User
而不是 $us
。至于 -PipelineVariable User
,您可以将其替换为 $_
(also known as $PSItem
),以引用正在通过管道传递的 当前对象 :
Import-Csv -Path C:\Users\leonan.martins\Desktop\teste1.csv | ForEach-Object {
$target = [string]::Format(
"OU={0},OU={1},OU={2},DC=lab,DC=suporti,DC=local",
$_.Regiao, $_.Diretoria, $_.Area
)
Get-ADUser $_.User | Move-ADObject -TargetPath $target
}
在你的脚本中添加你的目标 OU 的 DN,你可以这样做很简单:
$Users = Import-Csv -Path "D:\Powershell\Input\UsersList.csv" #Path to CSV-File
$TargetOU = "OU=Target,OU=kj,DC=kj,DC=local" #DistinguishedName of Target OU
foreach($User in $Users)
{
Get-ADUser $User.SamAccountName | Move-ADObject -TargetPath $TargetOU
}
我正在创建一个脚本来更改某些 OU 用户,但它给出了一个参数错误并且无法正常工作。
用户和 OU 正在通过 .csv 文件列出,字符串获取信息,但将其放入代码行时不起作用。
Import-Csv -Path C:\Users\leonan.martins\Desktop\teste1.csv -Delimiter ',' -PipelineVariable User | ForEach-Object -Process {
$us = $User.user
$OU1 = $User.Regiao
$OU2 = $User.Diretoria
$OU3 = $User.Area
get-aduser $User | move-adobject -TargetPath "OU=$OU1,OU=$OU2,OU=$OU3,DC=lab,DC=suporti,DC=local"
}
你的错误的可爱原因是 $us = $User.user
上的拼写错误以及 Get-ADUser
调用中引用 $User
而不是 $us
。至于 -PipelineVariable User
,您可以将其替换为 $_
(also known as $PSItem
),以引用正在通过管道传递的 当前对象 :
Import-Csv -Path C:\Users\leonan.martins\Desktop\teste1.csv | ForEach-Object {
$target = [string]::Format(
"OU={0},OU={1},OU={2},DC=lab,DC=suporti,DC=local",
$_.Regiao, $_.Diretoria, $_.Area
)
Get-ADUser $_.User | Move-ADObject -TargetPath $target
}
在你的脚本中添加你的目标 OU 的 DN,你可以这样做很简单:
$Users = Import-Csv -Path "D:\Powershell\Input\UsersList.csv" #Path to CSV-File
$TargetOU = "OU=Target,OU=kj,DC=kj,DC=local" #DistinguishedName of Target OU
foreach($User in $Users)
{
Get-ADUser $User.SamAccountName | Move-ADObject -TargetPath $TargetOU
}