Benutzer mit den meisten Antworten
Powershell Login Script

Frage
-
Hallo zusammen,
Ich beschäftige mich schon eine weile mit Powershell. Ich möchte unser Login Script von VBS auf PS1 umstellen.
Mir fehlt dabei nur noch ifmember Abfrage. Folgendes habe ich schon heraus gefunden.
Mit diesem Befehl kann ich bereits alle Member Gruppen des aktuell angemeldeten Users herauslesen.
Get-ADPrincipalGroupMembership $ENV:Username | select name
Leider bring ich es nicht fertig die Abfrage so fertig zu stellen, dass wenn der User ein Member von einer dieser ausgelesenen Gruppen ist, ein entsprechendes Laufwerk zu verbinden.
Bei VBS sieht das so aus.
If IsMember("Abteilung") Then
net.MapNetworkDrive "F:"Danke für eure Hilfe und Tips
Angelos
Antworten
-
So etwa:
If(@(Get-ADPrincipalGroupMembership $ENV:Username | Select-Object -ExpandProperty name) -contains 'Abteilung') { # map networkdrive hier }
Das Cmdlet "Get-ADPrincipalGroupMembership" holt immer alle Gruppen aus dem Active Directory und nutzt auch den Globalen Catalog (GC)! Dadurch ist es nicht sehr performant und der GC wird belastet.
Stell dir mal vor alle Mitarbeiter kommen so genen 8:00 Uhr und alle wollen den einen DC abfragen, der bricht zusammen!
In Userlogonscripts kommt es auf die Geschwindigkeit an. Da ist die Explizite abfrage nach einer Gruppe eventuell schneller und es werden normale (unterschiedliche) Domänen Controller benutzt und nicht der GC.
Ich Empfehle dir diese Abfrage zu nutzen, die nur die eine Gruppe holt und die Member vergleicht.
Dies sollte in den meisten fällen viel Schneller sein:IF(@(Get-ADGroupMember -Identity 'Abteilung' -Recursive | Select-Object -ExpandProperty Name) -contains $env:username) { # map networkdrive hier }
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+- Bearbeitet Peter Kriegel Freitag, 31. Januar 2014 08:59
- Als Antwort markiert Alex Pitulice Dienstag, 4. Februar 2014 16:17
Alle Antworten
-
So etwa:
If(@(Get-ADPrincipalGroupMembership $ENV:Username | Select-Object -ExpandProperty name) -contains 'Abteilung') { # map networkdrive hier }
Das Cmdlet "Get-ADPrincipalGroupMembership" holt immer alle Gruppen aus dem Active Directory und nutzt auch den Globalen Catalog (GC)! Dadurch ist es nicht sehr performant und der GC wird belastet.
Stell dir mal vor alle Mitarbeiter kommen so genen 8:00 Uhr und alle wollen den einen DC abfragen, der bricht zusammen!
In Userlogonscripts kommt es auf die Geschwindigkeit an. Da ist die Explizite abfrage nach einer Gruppe eventuell schneller und es werden normale (unterschiedliche) Domänen Controller benutzt und nicht der GC.
Ich Empfehle dir diese Abfrage zu nutzen, die nur die eine Gruppe holt und die Member vergleicht.
Dies sollte in den meisten fällen viel Schneller sein:IF(@(Get-ADGroupMember -Identity 'Abteilung' -Recursive | Select-Object -ExpandProperty Name) -contains $env:username) { # map networkdrive hier }
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+- Bearbeitet Peter Kriegel Freitag, 31. Januar 2014 08:59
- Als Antwort markiert Alex Pitulice Dienstag, 4. Februar 2014 16:17
-
Der erste Befehl hat super funktioniert!!
Danke vielmals!
- Bearbeitet Angelos EA Freitag, 31. Januar 2014 09:52
-
Ich würde trotzdem die 2. Variante nehmen!
Lies bitte noch das hier:
Wozu Antworten markieren und für Beiträge abstimmen?
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+ -
Hallo Angelos,
probier es doch mit den Group-Policy Preferences mit dem Item-Leveltargeting:
Wenn's nur um's Laufwerkmappen geht....
Grüsse
Florian
Schaue auf niemanden herab, es sei denn, du willst ihm aufhelfen...