Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

CMD Script: Automatischer User Import to GlobalGroup

Frage Entwicklung Batch & Shell

Mitglied: LuciusCastus

LuciusCastus (Level 1) - Jetzt verbinden

19.08.2014, aktualisiert 22.08.2014, 1946 Aufrufe, 9 Kommentare, 2 Danke

Hallo, ich habe folgendes Problem.

Beispiel:
Für eine Ordnerstuktur Laufwerk (Z) sind "Local Group" angelegt worden.

LG_LAUFWERK_Vertrieb_Einkauf
LG_LAUFWERK_Vertrieb_Verkauf

Z:\Vertrieb\Einkauf
Z:\Vertrieb\Verkauf

Anhand eines Organisationscodes FIRMA-ABTEILUNG-TEAM (FIRMA-Vertieb-Einkauf) soll ein User in die entsprechende "GlobalGroup" importiert werden.

Franz Mustermann (FI-VT-EK)
Hans Wurst (FI-VT-VK)


Die Frage ist nun wie kann man das am einfachsten verwirklichen?

Ich hatte an ein Script gedacht, dass in einem AD-User unter Eigenschaften\Organisation\Abteilung einen hinterlegten Orga-Code ausließt und anhand diesem einen Import in die entsprechende Gruppe ausführt.


Grüße Lucius
Mitglied: SlainteMhath
19.08.2014 um 16:44 Uhr
Moin,

Ich hatte an ein Script gedacht, dass in einem AD-User unter Eigenschaften\Organisation\Abteilung einen hinterlegten Orga-Code ausließt und anhand diesem einen Import in die entsprechende Gruppe ausführt.
Das sollte sich per Powershell lösen lassen. Was ich nicht verstehe ist, warum ihr lokale Gruppen verwendet, wenn ihr ein AD habt.

lg,
Slainte
Bitte warten ..
Mitglied: LuciusCastus
19.08.2014 um 17:00 Uhr
Local Groups in der AD nicht Lokale Gruppen, Sorry wird gleich verbessert.
Bitte warten ..
Mitglied: colinardo
19.08.2014, aktualisiert um 18:03 Uhr
Moin LuciusCastus,
Die Frage ist nun wie kann man das am einfachsten verwirklichen?
aus der Schulter geschossen mit Powershell etwa so, wenn die Gruppe im Abteilungs-Feld des jeweiligen Userobjektes steht:
01.
Import-Module ActiveDirectory 
02.
get-aduser -Filter * -properties Department | ?{$_.Department -like "*-*-*"} | %{add-adgroupmember -Identity $_.Department -Members $_}
Ansonsten würde auch eine simple CSV-Datei ausreichen die das Powershell-Script ausliest, in denen die User und deren Gruppen aufgelistet sind, dann musst du nicht jedes Userobjekt manuell anpacken um den Gruppennamen dort zu hinterlegen.

Grüße Uwe
Bitte warten ..
Mitglied: LuciusCastus
21.08.2014, aktualisiert um 14:18 Uhr
Es hat sich ein kleiner Denkfehler eingeschlichen.
1. Es gibt Globale Gruppen, in denen die User der Abteilungen Mitglieder sind. (Soll Scriptbasiert nach ORGA-Code den Globalen Gruppen zugewiesen werden.)
z.B: Globale Gruppe (ORGA-CODE)
Abt_Verkauf (XX-S-VK)
Abt_Einkauf(XX-S-EK)
Abt_Marketing (XX-VF-MT)
Abt_Rechnungswesen (XX-RW)

Import-Module ActiveDirectory
Get-ADUser -Filter "Department -like 'XX-S-VK'” | ...............................
Die User sind bereits in der Domäne, dass heißt ein .vcs Import würde da eventuell nicht so einfach sein?
Deshalb habe ich mir gedacht, dass ich den Usern die ORGA-Codes unter "Department(Abteilung)" einpflege.
Im Script sollten dann alle User die in der gleichen OU sind, nach deren Eintragung unter Department prüfen.
Im Fall, dass 25 User XX-S-VK darin stehen haben, sollen diese in die Global Group "Abt_Verkauf" hinzugefügt werden.

Den Lokalen Gruppen werde ich dann die entsprechenden Globalen Gruppen manuell hinzufügen.

Den letzten Schritt habe ich bereits gelöst:
Lokale Gruppen nach der Ordnungsstruktur aufbauen und die Vergabe der Sicherheitsrichtlinien der Ordner.
Bitte warten ..
Mitglied: colinardo
21.08.2014, aktualisiert um 14:54 Uhr
Die User sind bereits in der Domäne, dass heißt ein .vcs Import würde da eventuell nicht so einfach sein?
Quatsch, kein Thema. Wenn du schon jedes Userobjekt von Hand anpackst kannst du ja gleich den User einer Gruppe manuell zuweisen ...der Aufwand wäre der gleiche ...
Also mach dir eine CSV-Datei in folgender Art:
SamAccountName;Group 
maxmuster;Abt_Verkauf 
annamusterfrau;Abt_Marketing
dann kannst du hiermit die Gruppenmitgliedschaft für alle User der CSV-Datei festlegen:
01.
Import-Module ActiveDirectory 
02.
$csv = Import-CSV 'c:\users.csv' -delimiter ";" 
03.
$csv | %{ 
04.
add-adgroupmember -Identity $_.Group -Members $_.SamAccountName 
05.
}
und feddich ist die Laube ...

eine Liste aller User bzw. eine CSV-Vorlage kannst du dir ja auch mit get-aduser generieren, dann brauchst du nur noch z.B. mit Excel die Gruppen zuweisen, wieder als CSV speichern und mit obigem Script reinladen.

Beispiel Export aller User aus dem AD in eine CSV:
get-aduser -Filter * | select SamAccountName | export-csv 'c:\users.csv' -delimiter ";" -NoType
Bitte warten ..
Mitglied: LuciusCastus
22.08.2014 um 14:49 Uhr
Dann würde ich am besten erstmal eine .csv Datei exportieren mit den Daten die sowieso bereits vorhanden sind.
Die User Daten in der .csv könnte ich dann aktuell halten und die AD damit auf einem Überblick aktualisieren.

Leider klappt der Befehl zum exportieren in eine csv nicht ganz so wie ich mir das vorgestellt habe.
get-aduser -Filter * | select SamAccountName, Givenname, Surname, Group, telephoneNumber | export-csv 'c:\users.csv' -delimiter ";" -NoType

bei Group steht in der .csv Microsoft.ActiveDirectory.Management.ADPropertyValueCollection und telephoneNumber gibt er garnichts aus.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 22.08.2014, aktualisiert um 17:34 Uhr
Zitat von LuciusCastus:
Leider klappt der Befehl zum exportieren in eine csv nicht ganz so wie ich mir das vorgestellt habe.
get-aduser -Filter * | select SamAccountName, Givenname, Surname, Group, telephoneNumber | export-csv 'c:\users.csv'
-delimiter ";" -NoType

bei Group steht in der .csv Microsoft.ActiveDirectory.Management.ADPropertyValueCollection und telephoneNumber gibt er garnichts
aus.
so kann es auch nicht laufen, denn die erweiterten Attribute musst du bei get-aduser angeben :
get-aduser -Filter * -properties telephoneNumber | select SamAccountName, Givenname, sn, telephoneNumber | export-csv 'c:\users.csv' -delimiter ";" -NoType 
SamAccountName,givenname, surname sind Standardmäßig in der Ausgabe von get-aduser enthalten und müssen nicht angegeben werden, jedoch telephoneNumber schon!
Group gibt es nicht, dafür gibt es memberOf.

Bitte lese dir die Grundlagen zur Arbeit mit powershell und AD durch bevor wir hier jetzt für dich wieder das Rad neu erfinden müssen. Es gibt hier nämlich noch einiges mehr zu beachten. Merci.
http://www.powershellpro.com/powershell-tutorial-introduction/powershel ...

Grüße Uwe
Bitte warten ..
Mitglied: LuciusCastus
26.08.2014 um 16:52 Uhr
Vielen Dank ich bin noch ziemlich neu in dem Thema.
Hier meine Lösungen die funktionieren und anbei noch eine Frage

USER EXPORT:
get-aduser -Filter * -SearchBase "OU=OU,DC=Domäne,DC=net" -properties telephoneNumber, department | select SamAccountName, Givenname, Surname, telephoneNumber, department | export-csv 'c:\users.csv' -delimiter ";" -NoType

Erstellen von Global Groups per CSV:
Import-Module ActiveDirectory
Import-Csv 'C:\...............\Orga.csv' -delimiter ';' |
ForEach {New-ADGroup -GroupScope Global -Name $_.GroupName -GroupCategory Security -Description $_.OrgaCode -Path "OU=GG_OU,OU=OU,DC=Domäne,DC=net"}

??? Hier ersetzt er mir leider nicht die Description wenn die Gruppe bereits vorhanden ist,
kann ich das irgendwie in mein Script einbauen ohne ein erneutes Set-ADGroup Script zu erstellen?

Hast du vlt. noch eine Lösung parat.
Bitte warten ..
Mitglied: colinardo
26.08.2014, aktualisiert um 18:23 Uhr
01.
Import-Csv 'C:\...............\Orga.csv' -delimiter ';' | %{ 
02.
  if(get-adgroup -Filter {SamAccountName -eq $_.GroupName}){ 
03.
    # Gruppe vorhanden also setze die Infos der Gruppe mit set-adgroup 
04.
    Set-AdGroup $_.GroupName -Replace @{Description=$_.OrgaCode} 
05.
  }else{ 
06.
    # Gruppe wurde nicht gefunden also lege sie an 
07.
    New-ADGroup -GroupScope Global -Name $_.GroupName -GroupCategory Security -Description $_.OrgaCode -Path "OU=GG_OU,OU=OU,DC=Domäne,DC=net" 
08.
09.
}
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Powershell-Script als Admin über CMD ausführen (2)

Frage von Tobiased zum Thema Batch & Shell ...

Batch & Shell
Powershell-Script über Task Scheduler zeigt CMD während Ausführung (5)

Frage von DanielBodensee zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...