0

내 도메인의 소수 (560) 명의 사용자를 업데이트하려고합니다. 그들은 근로자 DB에 따라 불완전하거나 잘못된 이름을 사용하고 있습니다. Powershell - 사용자 이름 바꾸기 (루프)

내가이 정보를 포함하는 CSV 파일을 만든 :

samaccoutname,Name,givenname,surname 
r001248,ADRIANA DAS COUVE ,ADRIANA ,DAS COUVE 
r020230,ALEXANDRA DAS NEVE ,ALEXANDRA ,DAS NEVE 

이 내 코드이지만 밖으로 작동하지 않습니다 :

# 
# Script.ps1 
# 

Import-Module activedirectory 

$userlist = Import-Csv C:\Users\r013462\Documents\Atualização_AD.csv -Delimiter "," 

foreach ($user in $userlist) 
{ 
    $GivenN = $user.givenName 
    $FullN = $user.Name 
    $SurN = $user.surName 
    Get-ADUser -Identity $user.samaccountname | Set-ADUser -GivenName $GivenN -Surname $SurN -DisplayName $FullN 
} 

제안?

+0

귀하의 표현식을'$()는 '전혀 필요하지 않습니다. – TheIncorrigible1

+0

변경됨; 이러한 변화 여전히 의 foreach ($ 사용자 목록에서 $ 사용자) 작동하지 { \t $ GivenN = $ user.givenName \t $ FullN = $ user.Name \t $ SurN = $ user.surName \t에 Get-ADUser -Identity $ user.samaccountname | Set-ADUser -GivenName $ GivenN -Surname $ SurN -DisplayName $ FullN } –

+0

added -delimiter "," 작동하지 않음 –

답변

0

마지막으로 해결책을 찾았습니다. 당신이 그것을 수행하려는 경우

, 당신이 내 CSV의 동일한 매개 변수, 원래는 게시를 사용하고이 스크립트를 사용해야합니다 :

# 
# Script.ps1 
# 

Import-Module activedirectory 

$varCSV = "" 
$userlist = Import-Csv -Path $varCSV -Delimiter "," 

foreach ($user in $userlist) 
{ 
    $samN = $user.samaccouNtname 
    $GivenN = $user.GivenName 
    $FullN = $user.Name 
    $SurN = $user.Surname 
    $dn = (Get-ADUser -Identity $samN).DistinguishedName 
    Get-ADUser -Identity $user.SamAccountName | Set-ADUser -GivenName $GivenN -SurName $SurN -DisplayName $FullN 
    Try { 
     Rename-ADObject $dn -NewName $FullN 
    } 

    catch { 
     Write-Output "usuario repetido: " ($user.samaccountname) | Out-File C:\errors.txt -Append 
    } 

}