Wieso klappt das PowerShell Skript nicht?

1 Antwort

Das geht leider nicht mit New-PSDrive. Die Option -Persist bedeutet da nur, dass das Laufwerk nicht nur in PowerShell, sondern auch in der Windows-Oberfläche angezeigt werden soll, aber eben beim nächsten Neustart weg ist.

Du kannst also entweder das Script bei jeder Anmeldung laufen lassen (Lässt sich in den Gruppenrichtlinien einstellen. Funktioniert anscheinend erst ab Windows 8)

Oder du benutzt die gute alte DOS-Routine "net use", als Beispiel für die Buchhaltung:

"net use ""\\192.168.34.96\AA J Buchhaltung"" $pass /USER:Domäne\$user /PERSISTENT:YES"

User und Passwort kannst du weglassen, wenn der Benutzeraccount, mit dem das Script ausgeführt wird, Zugriff auf die Freigabe hat.

Details zu "net use" kannst du dir im cmd oder in PowerShell mit "net help use" anschauen.

Da musst du halt die Eingabe von Benutzername und Passwort wieder über den auskommentierten Teil oben machen, weil "net use" nichts mit einem Credential-Objekt anfangen kann.


calgia 
Fragesteller
 30.09.2021, 11:11

danke., das habe ich so nicht gewusst. hier fehlt ja für buchhaltung J: kann ich das einfach nach net use noch angeben? wie sieht es bei benutzern mit leerschlag aus? Der User ist ein Lokaler User und kann Leerschläge enthalten

0
daCypher  30.09.2021, 11:40
@calgia

Oh, stimmt, das J hab ich vergessen. Das kommt einfach direkt nach net use. Mit den Leerzeichen musst du evtl. selbst ein bisschen probieren. Wie du Anführungszeichen in den String kriegst, siehst du ja am Netzwerkpfad. Bei Benutzername und Passwort dürfte es genauso gehen. Also so:

"net use J: ""\\192.168.34.96\AA J Buchhaltung"" ""$pass"" ""/USER:Domäne\$user"" /PERSISTENT:YES"

Und wie gesagt: Evtl. brauchst du Benutzername und Passwort gar nicht, wenn das Script vom jeweiligen Benutzer aus ausgeführt wird.

0
calgia 
Fragesteller
 30.09.2021, 12:34
@daCypher

Grundsätzlich wird es über den Benutzer ausgeführt.

Es kann aber immer eine Abweichung geben.

Hast du grad eine ahnung warum das PAsswort bei $pass abgelehnt wird mit invoke-expression aber bei net use manuell mit $password das angenommen wird?

0
daCypher  30.09.2021, 12:56
@calgia

Hmm, nein. Hast du vielleicht einzelne Anführungszeichen benutzt?

0