2013-11-01 2 views
0

csv의 일부 사용자를 내 광고에 추가하는 스크립트를 만들고 있는데 ^^를 찾을 수없는 이유로 작동하지 않습니다. 'PowerShell - Win2k8 - Script

나는 코드가 어디로 가는지 알기 위해 ADlog 파일을 사용하고 있으며 "else (Woot?)"에 들어 있으므로 어쩌면 내 코드에서 실수로 내 AD Thx에 액세스 할 수 없습니다. .. 꽤 정직,

#connection to the Active Directory 

$objOU=[ADSI]"LDAP://localhost:389/DC=maho,DC=lan" 

if($objOU.Children -ne $null) { 

# import data from the csv file 

$dataSource=import-csv ("\user.csv") 
ForEach($dataRecord in $dataSource) { 
    $ou=$dataRecord.service 

    #checking the existance of the UO 

    if(($objOU.Children | where {$_.Path -match "OU=$ou"}) -eq $null){ 

    #if it doesn't, we creat it 

     $objOU = $objOU.create("organizationalUnit", "ou="+$ou) 
     $objOU.SetInfo() 
    "UO not there" | Add-Content C:\ADlog.txt 

    } 

    else { 

    #if it does exist we point on it to creat the new user 

     $objOU = $objOU.Children.Find("OU=$ou") 
    "WOOT ?" | Add-Content C:\ADlog.txt 
    } 

    $SamAccountName=$dataRecord.login 
    $GivenName=$dataRecord.fname 
    $sn=$dataRecord.lname 
    $cn=$GivenName + " " + $sn 
    $displayName=$cn 
    $description=$dataRecord.description 
    $UserPrincipalname=$SamAccountName +"@"+$DNS_DomainName 


    #we create the obj user in the AD 

    $objUser=$objOU.Create("User","CN="+$cn) 
    $objUser.Put("SamAccountName",$SamAccountName) 
    $objUser.Put("UserPrincipalName",$UserPrincipalName) 
    $objUser.Put("DisplayName",$Displayname) 
    $objUser.Put("Description",$description) 
    $objUser.Put("GivenName",$GivenName) 
    $objUser.Put("sn",$sn) 

    $objUser.SetInfo() 

    #$objUser.setPassword("") 
    #empty to make the user choise his own passwd 

    #we activate the account 
    $objUser.psbase.InvokeSet("AccountDisabled",$false) 
    $objUser.SetInfo() 

    #we check that the acc is created 

    if(($objOU.Children | where {$_.Path -match "CN=$cn"}) -ne $null) { 
     "User : "+$UserPrincipalName+" Ok" | Add-Content C:\ADlog.txt 
    } 

    $objOU=[ADSI]"LDAP://localhost:389/DC=maho,DC=lan" 

} 
Write-Host "Sucess!" 

#Delete the reg key 

Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"-Name "Unattend*" 

} 
else { 
"Failure" | Add-Content C:\ADlog.txt 
} 
+0

구체적으로 무엇을 달성하려고? 이것은 CSV에서 광고에 사용자를 추가하는 것이 아닙니다. 디버깅을 시도하거나 (또는 ​​그냥 에코) 각 변수에 저장된 값이 예상 한 것과 일치하는지 확인하십시오. –

+0

ty 난 그냥 무슨 말했지 (울리는) 그리고 난 그냥 내 실수를 찾으십시오 :) – Maho

답변

관련 문제