Vraag


Acties:
  • 0 Henk 'm!

  • skunkopaat
  • Registratie: Augustus 2011
  • Laatst online: 24-09 18:50
Hallo,

Voor een project op school moeten we users importeren met powershell. Wij doen dit met het commando CSVDE -i -f naam.csv.

Echter, bij de import krijgen we een foutmelding.

Het importscript ziet er uit als volgt:


givenName,sn,displayname,dn,sAMAccountName ,userPrincipalName,description,telephoneNumber,homeDirectory,homeDrive,profilePath,title,company,userAccountControl,objectClass,Password

Harry,Aardboom,Harry Aardboom,CN=Harry Aardboom,OU=Brandweer,DC=flevostad,DC=nl,1000,1000@flevostad.nl,Medewerker brandweer,+31 511 42,1000,\\SRV1\UserFolders\%username% E:,\\SRV1\UserProfiles\%username%,Burgemeester gemeente flevostad 512,user,Welkom01!

De fout in het log is als volgt:

Connecting to "(null)"
Logging in as current user using SSPI
Importing directory from file ".\importusersPW.csv"
Loading entries
2: CN=Harry Aardboom,OU=Brandweer,DC=flevostad,DC=nl
Attribute 0) givenName: Harry
Attribute 1) sn: Aardboom
Attribute 2) displayname: Harry Aardboom
Attribute 3) sAMAccountName: 1000
Attribute 4) userPrincipalName: 1000@flevostad.nl
Attribute 5) description: Medewerker brandweer
Attribute 6) telephoneNumber: +31 511 42 1000
Attribute 7) homeDirectory: \SRV1UserFolders%username%
Attribute 8) homeDrive: E:
Attribute 9) profilePath: \SRV1UserProfiles%username%
Attribute 10) title: Burgemeester
Attribute 11) company: gemeente flevostad
Attribute 12) userAccountControl: 512
Attribute 13) objectClass: user
Attribute 14) Password: 134548288qwe<>

Add error on line 2: No Such Attribute
The server side error is "The parameter is incorrect."
0 entries modified successfully.
An error has occurred in the program

Wij zijn dit al een tijdje uit aan het zoeken, maar we komen niet veel verder.

De fout lijkt dus te zitten in DN.

Help! Het gaat om 160 users, en ik wil dit echt niet met de hand doen -O-

Iemand die mij verder kan helpen?

Windows server 2012

Alle reacties


Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 17:19
CSVDE is GEEN powershell commando maar een command line tool. Set-ADUser en New-ADUser zijn de PS commando's.
Overigens zie ik geen script voorbeeld in je code staan. Is het mogelijk om je Powershell code te posten?

Acties:
  • 0 Henk 'm!

  • lolgast
  • Registratie: November 2006
  • Laatst online: 15:28
Los van het feit dat dit denk ik niet echt valt onder noemer 'PowerShell gebruiken' valt, lijkt er een spatie achter sAMAccountName te staan. Kan komen door de copy/paste actie, maar controleer het toch maar eens ;)

Voor PowerShell als daadwerkelijke code zou je kunnen kijken naar onderstaande en daar de rest van je script op baseren
PowerShell:
1
2
3
4
5
6
7
8
9
$ad = (Get-ADDomain).Forest
Import-CSV C:\Temp\ImportUsers.csv -Delimiter ',' | ForEach-Object {
$UPN = $_.UserPrincipalName+"@"+$ad
New-ADUser `
-Name $_.givenname`
-DisplayName $_.displayname`
-GivenName $_.givenName`
-Surname $_.sn`
-UserPrincipalName $UPN}


Ik heb hem ff snel verzonnen, het kan netter en dynamischer maar het gaat om het voorbeeld denk ik ;)

Edit: Zo ziet de csv er dan uit
code:
1
2
3
givenName,sn,displayname,sAMAccountName,userPrincipalName,description,telephoneNumber,homeDirectory,homeDrive,profilePath,title,company,userAccountControl,objectClass,Password
Voornaam,Achternaam,Voornaam Achternaam,vachternaam,vachternaam
Voornaam2,Achternaam2,Voornaam2 Achternaam2,vachternaam2,vachternaam2

[ Voor 19% gewijzigd door lolgast op 07-03-2017 10:50 ]


Acties:
  • 0 Henk 'm!

  • skunkopaat
  • Registratie: Augustus 2011
  • Laatst online: 24-09 18:50
Killah_Priest schreef op dinsdag 7 maart 2017 @ 10:40:
CSVDE is GEEN powershell commando maar een command line tool. Set-ADUser en New-ADUser zijn de PS commando's.
Overigens zie ik geen script voorbeeld in je code staan. Is het mogelijk om je Powershell code te posten?
givenName,sn,displayname,dn,sAMAccountName ,userPrincipalName,description,telephoneNumber,homeDirectory,homeDrive,profilePath,title,company,userAccountControl,objectClass,Password Harry,Aardboom,Harry Aardboom,CN=Harry Aardboom,OU=Brandweer,DC=flevostad,DC=nl,1000,1000@flevostad.nl,Medewerker brandweer,+31 511 42,1000,\\SRV1\UserFolders\%username% E:,\\SRV1\UserProfiles\%username%,Burgemeester gemeente flevostad 512,user,Welkom01!

Spatie komt door de copy paste inderdaad

Bovenstaand is hetgeene wat in het script staat. Het is een import van een CSV. Dit is 1 user van de 160 die er verder onder staan

Het werkt wel, want hij laat de attributes wel zien, alleen een fout in de DN.

Een linkje naar een deel van het script, of nouja script heb ik misschien slecht verwoord maar import misschien:

https://1drv.ms/t/s!Alu5_K6GYBLegZwCcS5titQL4UImbQ

Ik zou dit dus met CMD uit moeten voeren, en niet powershell?

[ Voor 3% gewijzigd door skunkopaat op 07-03-2017 10:59 ]


Acties:
  • 0 Henk 'm!

  • skunkopaat
  • Registratie: Augustus 2011
  • Laatst online: 24-09 18:50
lolgast schreef op dinsdag 7 maart 2017 @ 10:47:
Los van het feit dat dit denk ik niet echt valt onder noemer 'PowerShell gebruiken' valt, lijkt er een spatie achter sAMAccountName te staan. Kan komen door de copy/paste actie, maar controleer het toch maar eens ;)

Voor PowerShell als daadwerkelijke code zou je kunnen kijken naar onderstaande en daar de rest van je script op baseren
PowerShell:
1
2
3
4
5
6
7
8
9
$ad = (Get-ADDomain).Forest
Import-CSV C:\Temp\ImportUsers.csv -Delimiter ',' | ForEach-Object {
$UPN = $_.UserPrincipalName+"@"+$ad
New-ADUser `
-Name $_.givenname`
-DisplayName $_.displayname`
-GivenName $_.givenName`
-Surname $_.sn`
-UserPrincipalName $UPN}


Ik heb hem ff snel verzonnen, het kan netter en dynamischer maar het gaat om het voorbeeld denk ik ;)

Edit: Zo ziet de csv er dan uit
code:
1
2
3
givenName,sn,displayname,sAMAccountName,userPrincipalName,description,telephoneNumber,homeDirectory,homeDrive,profilePath,title,company,userAccountControl,objectClass,Password
Voornaam,Achternaam,Voornaam Achternaam,vachternaam,vachternaam
Voornaam2,Achternaam2,Voornaam2 Achternaam2,vachternaam2,vachternaam2
Zo ziet mijn CSV er inderdaad ook uit, maar dan geeft hij de foutmelding voor de DN

Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 17:19
skunkopaat schreef op dinsdag 7 maart 2017 @ 10:50:
[...]


givenName,sn,displayname,dn,sAMAccountName ,userPrincipalName,description,telephoneNumber,homeDirectory,homeDrive,profilePath,title,company,userAccountControl,objectClass,Password Harry,Aardboom,Harry Aardboom,CN=Harry Aardboom,OU=Brandweer,DC=flevostad,DC=nl,1000,1000@flevostad.nl,Medewerker brandweer,+31 511 42,1000,\\SRV1\UserFolders\%username% E:,\\SRV1\UserProfiles\%username%,Burgemeester gemeente flevostad 512,user,Welkom01!

Bovenstaand is hetgeene wat in het script staat. Het is een import van een CSV. Dit is 1 user van de 160 die er verder onder staan

Het werkt wel, want hij laat de attributes wel zien, alleen een fout in de DN.

Een linkje naar een deel van het script, of nouja script heb ik misschien slecht verwoord maar import misschien:

https://1drv.ms/t/s!Alu5_K6GYBLegZwCcS5titQL4UImbQ

Ik zou dit dus met CMD uit moeten voeren, en niet powershell?
Je kunt command line tools prima met Powershell uitvoeren, echter heeft dit soms "vreemde" effecten mbt parameters voeren (tenzij je bv Start-Process of Invoke-Expression gebruikt om deze te starten).
Ik reageer er vooral op omdat er geen enkele regel Powershell code in het script vermeld staat, sterker nog, ik zie geen script. Ik zie alleen een CSV bestand welke met CSVDE wordt aangeroepen.

Een inputfile is niet hetzelfde als een script.

Acties:
  • 0 Henk 'm!

  • skunkopaat
  • Registratie: Augustus 2011
  • Laatst online: 24-09 18:50
Killah_Priest schreef op dinsdag 7 maart 2017 @ 10:53:
[...]


Je kunt command line tools prima met Powershell uitvoeren, echter heeft dit soms "vreemde" effecten mbt parameters voeren (tenzij je bv Start-Process of Invoke-Expression gebruikt om deze te starten).
Ik reageer er vooral op omdat er geen enkele regel Powershell code in het script vermeld staat, sterker nog, ik zie geen script. Ik zie alleen een CSV bestand welke met CSVDE wordt aangeroepen.

Een inputfile is niet hetzelfde als een script.
Dat is mijn fout. Ik ging er vanuit dat het een script was.

Ik ben een noob met scripten e.d. en ik leer het stukje bij beetje

Edit: het csv bestand importeren via CMD geeft dezelfde foutmelding

[ Voor 4% gewijzigd door skunkopaat op 07-03-2017 10:58 ]


Acties:
  • 0 Henk 'm!

  • skunkopaat
  • Registratie: Augustus 2011
  • Laatst online: 24-09 18:50
dit is de hele CSV, voor een beter beeld.

Wat kan ik nu doen om dit werkend te krijgen? Volgens mij zou hij het op die manier moeten doen toch?

Acties:
  • 0 Henk 'm!

  • Xessive
  • Registratie: Januari 2011
  • Laatst online: 20-07 18:33
Het probleem zit in de backslashes van de homedirs e.d. Kijk maar naar de output van het errorlog

Dit moet als volgt: \\\\srv1\\path\\%username%

Oh ja, csvde creëert géén homedir mappen, die zul je zelf moeten aanmaken.

[ Voor 10% gewijzigd door Xessive op 07-03-2017 11:23 . Reden: Aanvulling ]

Seriously? Nope, not a bit...


Acties:
  • 0 Henk 'm!

  • lolgast
  • Registratie: November 2006
  • Laatst online: 15:28
Ik zou eerst eens beginnen met een min of meer kale CSV en stapsgewijs data toevoegen. Dus maak een CSV met onderstaande code en voer dat uit. Werkt dat, voeg een veld toe. Als 1 user werkt op die manier werkt dat ook voor 160.
code:
1
2
objectClass,sAMAccountName,dn
user,1000," CN=Harry Aardboom,OU=Brandweer,DC=flevostad,DC=nl"



Los daarvan, lees je opdracht nog eens goed. Als je de import inderdaad via PowerShell zou moeten doen wordt deze manier volgens mij gewoon een onvoldoende :+

[ Voor 4% gewijzigd door lolgast op 07-03-2017 11:27 ]


Acties:
  • 0 Henk 'm!

  • Turdie
  • Registratie: Maart 2006
  • Laatst online: 20-08-2024
Xessive schreef op dinsdag 7 maart 2017 @ 11:20:
Het probleem zit in de backslashes van de homedirs e.d. Kijk maar naar de output van het errorlog

Dit moet als volgt: \\\\srv1\\path\\%username%

Oh ja, csvde creëert géén homedir mappen, die zul je zelf moeten aanmaken.
Een homedir heeft toch altijd in het begin twee slashes, dus zo:
\\SRV1\\UserProfiles\\%username%

Ik snap niet waarom in de CSV van de TS vier slashes gebruikt worden.

En omdat er in displayname in de naam een spatie zit, moet je die tussen dubbele quotes zetten

[ Voor 8% gewijzigd door Turdie op 07-03-2017 12:36 ]


Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 17:19
skunkopaat schreef op dinsdag 7 maart 2017 @ 11:00:
dit is de hele CSV, voor een beter beeld.

Wat kan ik nu doen om dit werkend te krijgen? Volgens mij zou hij het op die manier moeten doen toch?
Even heel simpel om bij het begin te beginnen : wat zijn de requirements van het project op school?
Importeren via een (zeer verouderde) CMD tool of moet dit echt Powershell zijn?

(overigens verbaas ik mij vaak over schoolopdrachten, ook de opdrachten die ik in het verleden gezien heb bij stagemedewerkers welke ik moest begeleiden, veel scholen hebben totaal geen idee van hoe dingen binnen bedrijven gedaan worden, vaak komen er opdrachten langs met oude, deprecated tools, toen Server 2012 uit was gekomen zag ik nog regelmatig opdrachten mbt Server 2003 langskomen etc)

Acties:
  • 0 Henk 'm!

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 15:10

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Killah_Priest schreef op dinsdag 7 maart 2017 @ 12:52:
[...]


Even heel simpel om bij het begin te beginnen : wat zijn de requirements van het project op school?
Importeren via een (zeer verouderde) CMD tool of moet dit echt Powershell zijn?
^^ What he says....

Als je met Powershell moet gaan werken, kun je wel redelijk stoppen met wat je nu doet. Dit heeft nl. niks met Powershell te maken. :)

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


Acties:
  • 0 Henk 'm!

  • Xessive
  • Registratie: Januari 2011
  • Laatst online: 20-07 18:33
shadowman12 schreef op dinsdag 7 maart 2017 @ 12:28:
[...]


Een homedir heeft toch altijd in het begin twee slashes, dus zo:
\\SRV1\\UserProfiles\\%username%

Ik snap niet waarom in de CSV van de TS vier slashes gebruikt worden.

En omdat er in displayname in de naam een spatie zit, moet je die tussen dubbele quotes zetten
Hij escaped één backslash. Bekijk de output van het errorlog: \srv1path%username%
Dus om dit op te lossen: \\\\srv1\\path\\%username%

Seriously? Nope, not a bit...

Pagina: 1