none
Powershell Login Script RRS feed

  • 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

    Freitag, 31. Januar 2014 07:37

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+

    Freitag, 31. Januar 2014 08:57

Alle Antworten