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, 2045 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 ..
Ähnliche Inhalte
Microsoft Office
Office 365 User Import mit Powershell (1)

Frage von adrian138 zum Thema Microsoft Office ...

Java
gelöst Net user per script aus txt oder csv für FTP (15)

Frage von OlliPWS zum Thema Java ...

Backup
gelöst Backup-Script erweitern mit automatischer bereinigung (6)

Frage von DarkHercules zum Thema Backup ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...