Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 18.01.2011, 11:21   #1
Newbie
 
Offline
Registriert seit: 01-2011
Beiträge: 25
Benutzer im AD anlegen [Powershell]

Hallo liebe User

Ich bin jetzt im 1. Ausbildungsjahr und habe eine Aufgabe bekommen und zwar soll ich benutzer im AD anlegen (Server 2008R2). Das ganze soll über Powershell laufen, jedoch fand ich im Internet nicht wirklich was und habe mich selber hingesetzt. Soweit sieht mein Text ganz okay aus, aber es funktioniert nicht ---> Warum weiß ich nicht^^

Code:
#Benutzer im ActiveDirectoy mit der Powershell anlegen#

$Name = Read-Host "Benutzername:"
$Firma = Read-Host "Firma:"
$Beschreibung = Read-Host "Beschreibung"			
$OU = Read-Host "Organisationseinheit:"

$domain = [ADSI] "LDAP://dc=test,dc=local"

$usersOU = [ADSI] "LDAP://cn=$OU,dc=test,dc=local"

$newUser = $usersOU.Create("user","cn=$Name")
$newUser.put("company", "$Firma")				
$newUser.put("description", "$Beschreibung")
$newUser.SetInfo()
Könnt ihr mir sagen was ich falsch mache? Der erste Fehler kommt erst bei "UsersOU.Create".


lg
    Mit Zitat antworten
Alt 18.01.2011, 11:22   #2
Board Veteran
 
Offline
Registriert seit: 12-2008
Beiträge: 4.674
Und welcher Fehler kommen denn?
Ist Powershell v2 verfügbar? Mit v1 würde ich soetwas nicht mehr machen.
    Mit Zitat antworten
Alt 18.01.2011, 11:49   #3
Newbie
 
Offline
Registriert seit: 01-2011
Beiträge: 25
Dankeschön erstmal für die fixe Antwort (ging wirklich schnell o.o)


Mir ist grad aufgefallen, das wenn ich den Code einzeln in die powershell reinkopiere, alles funktioniert. Es kommen ganz normal die Abfragen für OU, Firma etc.

Das Problem ist nun, wenn ich den code ausführe (Als rechtsklick --> mit Powershell ausführen) macht er es nicht. Dann kommt nur das Shell-Fenster und ich sehe für den Bruchteil einer Sekunde nen roten text, dann schließt sich das fenster und alles ist so wie es vorher war. Leider kann ich nicht erkennen was ausgegeben wird. Das mit dem userOU war glaub ich nen Fehler von mir selber vorhin^^

lg
    Mit Zitat antworten
Alt 18.01.2011, 11:54   #4
Board Veteran
 
Offline
Registriert seit: 12-2008
Beiträge: 4.674
Geb mal Get-Executionpolicy in einem neuen Powershell Fenster ein.
Außerdem kann man auch cmd öffnen, "powershell c:\pfad\zum\script.ps1" eingeben und dann startet das Script, ohne das das Fenster gleich zugeht.
    Mit Zitat antworten
Alt 18.01.2011, 12:13   #5
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

trotzdem solltest du auf einem Server 2008 R2 die Powershell 2.0 verwenden, dazu ist sie ja da. Starte entweder die Extra-Powershell für AD oder gib in der Powershell (bzw. in deinem Skript) ein "Import-Module ActiveDirectory".

Dann lass dir mal mit "get-command *ADUser*" die Kommandos anzeigen, die was mit Usern zu tun haben ...

Und: faq-o-matic.net » IIR Admin Tech Talk 2010: Folien und Skripts meiner AD-Sessions

... ach, und: In deinem obigen Code ist mit Sicherheit die LDAP-Notation falsch. Eine OU beginnt nicht mit "CN=", sondern mit "OU=".

Gruß, Nils

Geändert von NilsK (18.01.2011 um 12:18 Uhr). Grund: da is' mir noch was aufgefallen

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 18.01.2011, 12:58   #6
Newbie
 
Offline
Registriert seit: 01-2011
Beiträge: 25
Get-Executionpolicy
Restricted (Beschränkt?)

Wenn ich das über cmd mache, öffnet er nur das programm als .txt, denn irgendwie öffnet der Server .ps1 Dateien nicht standartmäßig in der Powershell.

Mh, solange arbeite ich nocht mit der Powershell. Was meinst du nun mit 2.0? Für mich ist die Powershell stehts das große fenster hier:




Dann hab ich noch das hier entdeckt, könnte das mit den skripten die ursache dafür sein?



@Nils

Aber wenn ich es einzeln in die shell eingebe funktioniert es doch? Warum sollte das cn dann falsch sein? Die seiten werd ich mir übrigens mal zu gemüte ziehen =)

lg
    Mit Zitat antworten
Alt 18.01.2011, 13:16   #7
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

allgemein ist es beim Scripting sinnvoll, sich vorher mit den Grundlagen zu befassen.

Wenn dein Server nicht der DC der Domäne ist, dann installiere dir die Rollenverwaltungstools für AD. Danach steht dir das AD-Modul zur Verfügung. In 2008 R2 ist die PS 2.0 eingebaut, die kann AD wesentlich besser managen als die veraltete 1.0. Dann siehe weiter oben in meinem letzten Posting.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 18.01.2011, 13:23   #8
Newbie
 
Offline
Registriert seit: 01-2011
Beiträge: 25
huhu =)

Also ich erkläre mal was das eig. fürn Hintergrund hat. Es hat angefangen das ich einfach erstmal nen Exchange 2007 Sevrer aufsetzen sollte (Auf Server 2008R2).

Naja gut, das war kein Problem. Danach sollte es halt so sein das ich dieses Skript schreibe (Hab 0 Ahnung von Powershell wenn ich das mal so sagen darf). Nungut, ich hab mich rangesetzt und das da oben kam raus^^

Ich habe 2 Server. Der eine ist Domaincontroller mit Active Directory & DNS, der ander ist der Exchange 2007 mit DNS und Lightweight Directory. (Replikation etc. vorhanden)

Naja und nu soll ich halt die Benutzer im AD anlegen (Das Skript führe ich auf dem Domaincontroller aus welcher ja auch eigentlich die berechtigungen haben müsste)


lg
    Mit Zitat antworten
Alt 18.01.2011, 13:25   #9
Board Veteran
 
Offline
Registriert seit: 12-2008
Beiträge: 4.674
Hast du schonmal "get-help about_signing" in der Powershell eingegeben und gelesen?

Ich würde mir erstmal die Grundlagen aneignen (das Scripte erstmal laufen wenn man sie ausführt) und nicht gleich irgendwelche Scripte, von denen man nicht weiss was diese genau tun auf das AD los lassen.
    Mit Zitat antworten
Alt 31.01.2011, 13:40   #10
Newbie
 
Offline
Registriert seit: 01-2011
Beiträge: 25
So, hier mal eine Rückemldung.

hab mir das ganze heute nochmal angeschaut und festgestellt das es diese "Windows Powershell Modules" gibt.
Mein ihr damit die Powershell 2.0? Damit arbeite ich ja direkt im AD, jedenfalls brauch ich bloß folgende zeilen:


Code:
PS C:\Users\Administrator> cd AD:
PS AD:\> New-ADUser Heinz
Nur sind die user dann noch nicht aktiviert. Außerdem bräuchten sie ja noch ein Passwort.

Wenn ich das hier eingebe:

Code:
PS AD:\> help New-ADUser
Bekomme ich ja die Syntax ausgeliefert. Die verstehe ich aber nicht ganz.

Könnt ihr mir erklären wie die Parameter da noch reinkommen? (PW & Aktivierung)

lg
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Powershell - TS Benutzer abmelden adm_k Windows Forum — Scripting 1 25.11.2010 16:27
Benutzer- und Gruppenverwaltung mit Powershell casian Windows Forum — Scripting 5 01.04.2010 09:57
Powershell: Benutzer zu Gruppen hinzufügen Murf Windows Forum — Scripting 3 01.07.2009 18:20
User und Mailbox remote via Powershell anlegen Thomas-Holger Windows Forum — Scripting 9 21.11.2008 16:21
User und Gruppen per PowerShell Skript anlegen Iceman75 Windows Forum — Scripting 7 21.04.2008 12:44


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:06 Uhr. Seite generiert in 0,042 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang