Ga naar inhoud

Windows Server 2007R2 - PowerShell Gebruikersimporteren


Rifke

Aanbevolen berichten

Ik wil aan de hand van een CSV bestand een reeks gebruikers in mijn Active Domain Controller inladen via PowerShell. Na een reeds gezoek op internet heb ik een voorbeeld script gevonden wat normaal volgens hun website moet werken. Althans dat hoopte ik dus.

Normaal zou je het snel snel met de hand inladen maar een 160-tal gebruikers met oog op uitbreiding is niet evident.

Als ik het Script uitvoer in Server2008 R2 dan krijg ik volgende fout in de commandline.

The following exception occurred while retrieving member "Create": "A referral
was returned from the server.
"
At C:\Users\Administrator.SCHUERMANS\PSuserScript.ps1:13 char:10
+ $objUser= <<<< $objOU.Create("user","CN="+$cn)
   + CategoryInfo          : NotSpecified: ( [], ExtendedTypeSystemExceptio
  n
   + FullyQualifiedErrorId : CatchFromBaseGetMember

You cannot call a method on a null-valued expression.
At C:\Users\Administrator.SCHUERMANS\PSuserScript.ps1:14 char:13
+ $objUser.Put <<<< ("sAMAccountName",$sAMAccountName)
   + CategoryInfo          : InvalidOperation: (Put:String) [], RuntimeExcept
  ion
   + FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Users\Administrator.SCHUERMANS\PSuserScript.ps1:15 char:13
+ $objUser.Put <<<< ("userPrincipalName",$userPrincipalName)
   + CategoryInfo          : InvalidOperation: (Put:String) [], RuntimeExcept
  ion
   + FullyQualifiedErrorId : InvokeMethodOnNull
..... en zo voorts

Nu weet ik zelf dat "You cannot call a method on a null-valued expression." te maken heeft met het feit dat de variabele $objUser niet gedeclareerd is. Dus dat is niet het probleem.

De fout waar het precies om gaat is deze The following exception occurred while retrieving member "Create": "A referral was returned from the server.

Het gebruikte PowerShell script is:

$objOU=[ADSI]“LDAP://OU=Users,DC=Vanderlinden.Schuermans,DC=be”
$dataSource=import-csv “users.csv”
foreach($dataRecord in $datasource) {
$cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
$sAMAccountName=$dataRecord.FirstName + “.” + $dataRecord.LastName
$givenName=$dataRecord.FirstName
$sn=$dataRecord.LastName
$sAMAccountName=$sAMAccountName.ToLower()
$displayName=$sn + “, ” + $givenName
$userPrincipalName=$sAMAccountName + "@Vanderlinden.Schuermans.be"
$userTelephone=$dataRecord.Telehone
$userMail=$dataRecord.Mail
$objUser=$objOU.Create(“user”,”CN=”+$cn)
$objUser.Put(“sAMAccountName”,$sAMAccountName)
$objUser.Put(“userPrincipalName”,$userPrincipalName)
$objUser.Put(“displayName”,$displayName)
$objUser.Put(“givenName”,$givenName)
$objUser.Put(“sn”,$sn)
$objUser.Put("mail",$userMail)
$objUser.Put("telephoneNumber",$userTelephone)
$objUser.SetInfo()
$objUser.SetPassword(“P@assw0rd”)
$objUser.psbase.InvokeSet(“AccountDisabled”,$false)
$objUser.SetInfo()
}

Deel van het CSV bestand

FirstName,LastName,Company,Telephone,Mail
Raul,Julia,Sonceto NV,01326/431.515,raul.julia@vanderlinden.schuermans.be
Kirk,Cameron,Sonceto NV,01308/571.630,kirk.cameron@vanderlinden.schuermans.be
Kevin,James,Sonceto NV,01235/772.757,kevin.james@vanderlinden.schuermans.be
Buddy,Guy,Sonceto NV,01270/277.515,buddy.guy@vanderlinden.schuermans.be
James,Joyce,Sonceto NV,01266/854.386,james.joyce@vanderlinden.schuermans.be
Edmund,Hillary,Sonceto NV,01319/865.859,edmund.hillary@vanderlinden.schuermans.be
John,Irving,Sonceto NV,01286/833.554,john.irving@vanderlinden.schuermans.be

Alvast bedankt!

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.