Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Usererstellung für AD und Exchange mit ExchangeVerwaltungsShell und ActiveRolesManagementShell von Quest

Mitglied: Binside

Binside (Level 1) - Jetzt verbinden

21.07.2010 um 10:46 Uhr, 7276 Aufrufe, 12 Kommentare

Es geht um ein Script, dass einen neuen User im AD und im Exchange erstellen soll. Problem dabei ist für mich, dass DC und Exchange-Server nicht dieselben sind.

Hallo liebe Community,

ich habe die Aufgabe, ein Script zu erstellen, dass das Erstellen eines Users in der Domäne also im Acitve Directory (Windows Server 2008 R2) und gleichzeitig ein Postfach für den User auf dem Exchange Server 2007 (Windows Server 2008) vereinfacht. Bisher wurde zunächst das Postfach erstellt und die Daten dazu abgefragt. Danach wurde das Active Directory aufgerufen und weitere Eigenschaften des Users eingetragen.

Bisher habe ich versucht, das Script mit der ExchangeVerwaltungsShell auf dem Exchange Server zu schreiben soweit es geht, dann die nötigen Variablen auf den Domain Controller zu exportieren und dort die restlichen Einstellungen mit der ActiveRolesManagementShell auszuführen. Allerdings erscheint mir dieses Vorgehen unnötig kompliziert. Auch auf dem Exchange Server 2007 - Server existiert ein Active Directory, allerdings ist die ActiveRolesManagementShell nicht mit Windows Server 2008 kompatibel (sondern nur mit WServer 2k8 R2). Gibt es eine andere Möglichkeit das Active Directory zu manipulieren und wo erlerne ich sie zum Beispiel? Ist mein Ansatz für das Script überhaupt richtig, oder habe ich einen Denkfehler gemacht?

Neugierigst und mit freundlichen Grüßen

B_inside

/B_out
Mitglied: schuhmann
21.07.2010 um 10:56 Uhr
Hi,
ich habe auf unserem Exchange quasi das selbe Skript laufen, funktioniert 1A.
Die ganzen Variablen beleg ich mir aus unserem Personalstamm und prüf anhand Einstellungsdaten ab ob der User aktiv ist, gelöscht werden soll,...

Neues Postfach anlegen (inkl. AD User):
new-mailbox -DomainController dc3 -Password $ss -Database $Database -UserPrincipalName $upn -Name $vollername -OrganizationalUnit $OU

AD Attribute setzen:
Set-User -Identity $punktname -DomainController dc3 -department $i.Organisationseinheit -FirstName $i.Vorname -Lastname $i.Nachname -Fax $i."Fax-Nummer" -MobilePhone $i.Handy -Phone $tel[0] -Pager "" -Notes $i.KFZNummer -city $Ort -StreetAddress $Strasse -PostalCode $PLZ -HomePhone $tel[1]

Benutzerdefinierte Attribute am Exchange setzen:
set-mailbox $punktname -ErrorAction SilentlyContinue -CustomAttribute1 $i.BuKr -CustomAttribute2 $Kstneu -CustomAttribute3 $i.Kostenst -CustomAttribute4 $Region -CustomAttribute5 $i.Mitarbeiterkreis -CustomAttribute6 $i."Internet-Zugangsberechtigung" -CustomAttribute7 $i.Standort -CustomAttribute8 $i.Planstelle -CustomAttribute9 $Ort -CustomAttribute13 $Aktiv

Gruß

Nachtrag: Lad dir mal den Power GUI Script Editor runter. Der blendet direkt die Syntax ein sobald du einen Befehl schreibst.
Bitte warten ..
Mitglied: Binside
21.07.2010 um 11:12 Uhr
Hi Schuhmann,

erstmal vielen Dank für deine Antwort.

Den Anfang mit "new-mailbox" habe ich eben so und auch der AD-User wird im AD erstellt. Welches Format die "-OrganizationalUnit" hat krieg ich noch raus. Soll hier nicht Thema sein.

Die AD-Attribute kann man dann scheinbar auch so setzen. Das sind ja keine ActiveRolesManagement-cmdlets, die du da verwendest. Könntest du mir noch kurz erklären, was sich hinter $i verbirgt? Ist das eine Standard-Variable oder hast du die vorher deklariert? Und wie verhält sich das mit -CustomAttribute1-13? Sind die Standard oder von dir deklariert? Gibt es zu denen eine Aufstellung? Ist $punktname der Displayname?

Wissbegierigst und mit freundlichen Grüßen

B_inside

/B_out
Bitte warten ..
Mitglied: schuhmann
21.07.2010 um 11:33 Uhr
Hi,

$i ist meine Laufvariable. Ich les alle Personaldaten in ein Objekt ein und durchlaufe es dann mit $i. Es ist also immer ein Objekt einer Person.
Das Format der Organistationseinheit ist einfach "domain.de/Firma/Sortieren".
Die CustomAttributes sind Standardattribute vom Exchange. Schau mal auf dem Exchange in die Postfacheigenschaften unter Allgemein > Benutzerdefinierte Attribute, das sind die.
Den $Punktname hab ich selbst deklarierte, setzt sich bei mir aus Vorname.Nachname zusammen, weil unsere Mailadressen so aufgebaut sind.
In diesem Fall ist damit nur ein Bezeichner des Postfachs gemeint. Da kannste den Alias oder den Displayname nehmen.

Die erweiterten AD Attribute kannst du wie folgt setzen:
Set-QADUser -Identity $punktname -ObjectAttributes @{ipphone="$IPTel"}
Hierüber kannst du alles setzen, ist nur nicht so übersichtlich wie set-user, finde ich. Du kannst einfach die LDAP Feldnamen angeben.

Ansonsten kannst du eigentlich alles direkt mit set-user und set-mailbox belegen.
Bitte warten ..
Mitglied: Binside
23.07.2010 um 09:41 Uhr
Hi,

ok also ganz erschließt sich mir das Ganze noch nicht. $i ist also eine Person, die du in ein Objekt speicherst und zwar mit ihren Eigenschaften. Und darüber kannst du dann die weiteren Eigenschaften mit angeben?

Ich könnte aber auch alle Eigenschaften einzeln sammeln und sie dann auch ohne Laufvariable mit 'set-user' einlesen oder? Gibt es Vorteile, die eine Laufvariable hier prädestinieren?

Den set-Mailbox befehl scheinst du nur für die Custom-Attribute zu brauchen, die bei uns nicht genutzt werden.
set-user war tatsächlich der fehlende Punkt im Script. Ich danke dir dafür. Ich geb dann noch Bescheid obs so geklappt hat wie du gesagt hast und lade bei Bedarf meine Version des Scriptes hoch.
Vielen Dank für deine Geduld.

Mit freundlichen Grüße

B_inside

/B_out
Bitte warten ..
Mitglied: schuhmann
23.07.2010 um 10:16 Uhr
Hi,

ich lese eine CSV Datei ein mit unseren Personaldaten:
$data = import-csv C:\datei.csv

Inhalt der CSV:
Nr,Name,.....
1,Max.Muster,.....
2,Melanie.Muster,...

Dann durchlauf ich mit der Laufvariable $i diese eingelesenen Daten.
foreach ($i in $data)
{
}
Ich kann jede Spalte direkt abgreifen, über die Spaltenüberschrift.
Im Durchgang1 liefert $i.Name Max.Muster, im 2. liefert es Melanie.Muster
Den Namen speicher ich in jedem Durchgang in $Punktname ab, um es dann im set-user zu verwenden.
Du könntest auch immer direkt den Namen angeben, set-user Max.Mustermann.
Dann führt er es aber nur für den einen User aus. Da ich aber eine CSV mit mehreren Personen hab, mach ichs in ner Schleife um alle zu erledigen.

Freut mich dass es läuft. Ansonsten lad dein Skript einfach mal hoch.
Gruß
Bitte warten ..
Mitglied: Binside
23.07.2010 um 10:24 Uhr
Hi,

ok du verwendest das Script ein wenig anders als ich. Da bei uns immer nur vereinzelt Mitarbeiter dazu kommen, nutze ich das Script nur, um einzelne Leute in Exchange und AD aufzunehmen. Dabei fragt das Script zunächst verschiedene Daten ab (vorname, nachname, abteilung) und speichert diese um im zweiten Teil dann den User mit diesen Daten zu erstellen. Das Script ist damit pro durchlauf nur für eine Person gedacht.

Nochmal vielen Dank und das Script lade ich dann demnächst hoch, wenn es wirklich perfekt läuft.

Mit freundlichen Grüßen,

B_inside

/B_out
Bitte warten ..
Mitglied: Binside
27.07.2010 um 08:55 Uhr
Hi,

Ich hab im Script jetzt fast alles eingetragen, was unsere Firma fordert. Ich werd die gängigsten Einträge noch zufügen. Allerdings hab ich noch ne kleine Frage:

es geht um die Möglichkeit einem Account eine gewisse Lebensdauer zu geben. Im AD kann man unter Properties -> Account -> Account expires einstellen ob und wann er ausläuft. Is das auch über die Exchange Verwaltungsshell zu realisieren?

Mit freundlichen Grüßen,

B_inside

/B_out
Bitte warten ..
Mitglied: schuhmann
27.07.2010 um 09:18 Uhr
Hi,
klar ist das möglich.

Auslesen welches Datum gesetzt ist:
$user = get-qaduser $Username -includedproperties accountexpires | select accountexpires
$user.accountexpires

Datum setzen:
$datum=Get-Date 22.10.2010
Set-QADUser $Username -AccountExpires $datum

Datum deaktivieren:
Set-QADUser $Username -AccountExpires $Null

Gruß
Bitte warten ..
Mitglied: Binside
27.07.2010 um 10:47 Uhr
Hi schuhmann,

ok das ist jetzt mit der Lösung von Quest. Gibt es auch noch eine ohne Active Roles zu nutzen? =) Bisher ging ja alles auch ohne. Und auf dem Exchange-Server ist ja kein WS2008 R2, was Acitve Roles aber voraussetzt.

Mit freundlichen Grüßen,

B_inside

/B_out
Bitte warten ..
Mitglied: schuhmann
27.07.2010 um 11:05 Uhr
Bist du dir da sicher? Bei mir läuft das ganze auf nem 2003 R2, dann solls doch auch wohl auf dem 2008er laufen.
Lads dir doch mal runter: http://www.quest.com/powershell/activeroles-server.aspx
Dann lad dir auch gleich den PowerGUI ScriptEditor: http://www.powergui.org/downloads.jspa

Eine andere Lösung hab ich sonst nicht parat.
Bitte warten ..
Mitglied: Binside
29.07.2010 um 13:05 Uhr
Ok also so wie es aussieht, geht es tatsächlich nur so. Das von Quest läuft übrigens wirklich schon aufm 2003er ab SP 1. Das was ich meinte war die Active Directory Shell, ein Modul, dass nur ab Server 2008 R2 nutzbar ist. Demnächst dann hier das Script mit dem Stückchen noch dran.

Danke dir schuhmann

Mit freundlichen Grüßen,

B_inside

/B_out
Bitte warten ..
Mitglied: Binside
09.08.2010 um 09:39 Uhr
Hallo,

es gibt doch noch eine Möglichkeit das ohne Quests PowerShell-Modul zu machen:

Mit

$user = [ADSI]"LDAP://CN=Max Mustermann,OU=Berlin,DC=Bspdomain,DC=de"

liest man den User aus

$user | get-member

zeigt einem dann unter anderem

accountExpires property System.DirectoryService.PropertyValueCollection accountExpires {get;set;}

damit kann man dann den Wert ändern, wovor mir allerdings noch gruselt, denn "ADSI Edit" zeigt den AccountExpires-Wert als Dezimalzahl und nicht als Datum/Uhrzeit an.

MfG

/B_out
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Exchange und Domain Migration mit Quest
Frage von Lukas4580Windows Netzwerk

Hallo, vielleicht kennt sich von euch ja jemand mit Quest Migration aus. Und zwar geht es um die Default ...

Exchange Server
SBS2011 und Exchange 2013 in einer AD
Frage von PaintmanExchange Server

Hallo an Alle, Ich habe einen SBS 2011 und dazu einen neuen Exchange 2013 in einer Organisation. Jetzt soll ...

Exchange Server

Unterschiedliche Kennwörter im AD und Exchange

gelöst Frage von LoenebergerExchange Server11 Kommentare

Hallo Ihr Profis, ich komme mit einer Frage und ich hoffe ihr habt einen Rat: Folgende Situation: Manche AD-User ...

Windows Server

Exchange und AD Standorte

gelöst Frage von oversizzedWindows Server6 Kommentare

Guten Morgen, Ich habe hie einen HyperV Host mit zwei Virtuellen Servern. Einer DC der Andere Exchange13. (Beide 2012R2) ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 13 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux25 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server14 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Peripheriegeräte
Bild über Netzwerk an Monitor
Frage von Ghost108Peripheriegeräte12 Kommentare

Hallo zusammen, ich möchte gerne folgendes realisieren: Ich habe 4 virtuelle Maschinen (Windows 7). Gerne möchte ich jetzt in ...