Ersetzen Sie das Kix-Skript durch Powershell

Ersetzen Sie das Kix-Skript durch Powershell

Wir möchten unsere aktuellen Kix-Skripte durch Powershell-Skripte ersetzen und ich war neugierig, wie man die Gruppenmitgliedschaft testet, um Netzlaufwerke zuzuordnen. Unser aktuelles Kix-Skript führt im Grunde nur eine if-Anweisung für jede Benutzergruppe aus und testet, ob der Benutzer Teil dieser Gruppe ist. Wenn ja, ordnet es ein Netzlaufwerk zu. Hier ist ein Beispiel:

If InGroup("ADGROUP")
  Use m: "\\server\share"
EndIf

Ich bezweifle, dass dies die effizienteste Vorgehensweise ist, wollte aber fragen, wie ich dasselbe in PowerShell erreichen kann und welche Empfehlungen es für die ordnungsgemäße Zuordnung von Laufwerken und Druckern für Benutzer in Active Directory gibt.

Falls diese Informationen benötigt werden: Alle unsere Clients verwenden Windows Vista/7 und wir wechseln gerade zu AD 2008.

Antwort1

Ich würde Gruppenrichtlinieneinstellungen verwenden, um Laufwerke in AD zuzuordnen.Siehe Verwenden von Gruppenrichtlinieneinstellungen zum Zuordnen von Laufwerken basierend auf der Gruppenmitgliedschaftfür weitere Einzelheiten. Ich empfehle außerdem, die Benutzer darin zu schulen, ihnen zu zeigen, wie sie Netzwerkstandorte zu ihren Bibliotheken hinzufügen können.

Antwort2

Ich habe DREI ganze Tage damit verbracht, unsere vorhandene Kix-Datei (die ich erstellt habe) in Powershell zu konvertieren.

Ich habe festgestellt, dass Powershell noch nicht vollständig als Anmeldeskript verwendet werden kann. Vielleicht in der neuesten Version, aber mit Powershell 2.0 habe ich festgestellt, dass die verwendeten Befehle hauptsächlich von VBS portiert wurden.

Ich halte den „If“-Befehl in Kixtart für sehr effektiv, da ich ihn auf zahlreichen Kundenseiten verwendet habe und er FUNKTIONIERT. Schlicht und einfach, er ist schnell und der Befehl ist für einen Systemadministrator, der Kix noch nie verwendet hat, leicht zu lesen. Ich meine, wenn man den gleichen Laufwerkszuordnungsbefehl in Kixtart mit dem vergleicht, was man schreiben muss, um dasselbe in Powershell zu tun, scheint das übermäßig kompliziert.

Ich habe darüber in meinem Blog geschrieben:http://thisishelpful.com/kix-login-script-remote-desktop-services-server-terminal-server.html. Ich werde es mit einem Vergleich meines Kix-Skripts mit meinem geänderten Powershell-Skript aktualisieren, und Sie werden sehen, was ich meine.

Hoffentlich hilft das.

Antwort3

Für die AD-Seite möchten Sie sich möglicherweise die AD-Cmdlets von Quest ansehen.

Antwort4

So überprüfen Sie die Gruppenmitgliedschaft in PowerShell:

$wid=[System.Security.Principal.WindowsIdentity]::GetCurrent()
$prp=new-object System.Security.Principal.WindowsPrincipal($wid)
$adm=[System.Security.Principal.WindowsBuiltInRole]::Administrator
$IsAdmin=$prp.IsInRole($adm)

Die letzten beiden Zeilen sind das Muster für eine eingebaute Gruppe (es gibt eineAnzahl dieser). Es gibt auch eine Überlastung vonIsInRoledas nimmt eine Zeichenfolge an, zB "Domäne\Gruppe".

Das Zuordnen des Laufwerks durch Ausführen net use ...ist wahrscheinlich am einfachsten (PowerShell kann problemlos ausführbare Konsolendateien aufrufen).

verwandte Informationen