niklasschaefer
Goto Top

Powershell Logonscript

Hallo Administrator-Gemeinde,
ich bin momentan dabei mich ein wenig in Powershell einzulesen und zu dabei ein wenig was auszuprobieren. Dabei habe ich gedacht ich nehme mein popliges Loginscript was aktuell pro User eine Batchdatei ist und mache daraus ein großes Powershell Script. Das ganze ist für 5 User gedacht und das Script liegt bei mir auf dem NAS. Ich habe aktuell noch das Problem das er mir in der IF-Anweisung wo der Benutzername abgefragt wird nicht richtig funktioniert. Das heißt er arbeitet alle net use Befehle ab was er eigentlich nicht soll. Und wenn er den Benutzernamen nicht findet soll er einen Fehler ausgeben.


Script im Anhang:
$name = [Environment]::UserName 
ECHO $name

ECHO Netzlaufwerke werden nun getrennt

net use * /delete /yes

ECHO Netzlaufwerke werden verbunden

if ($name = "Till" )  
{
    Net Use Y: \\nas01\Dokumente\Till
    net use X: \\nas01\Filme
    net use W: \\nas01\Musik
    net use U: \\nas01\Bilder
    net use T: \\nas01\Spiele
}
elseif ($name = "Niklas")  
{
    Net Use Z: \\nas01\Backup
    Net Use Y: \\nas01\Dokumente\Niklas
    net use X: \\nas01\Filme
    net use W: \\nas01\Musik
    net use V: \\nas01\Software
    net use U: \\nas01\Bilder
}
else
{
ECHO Nutzername auf dem NAS nicht gefunden!
}
Pause

Ich danke euch schon mal für die Hilfe!

Gruß Niklas

Content-ID: 291823

Url: https://administrator.de/contentid/291823

Ausgedruckt am: 23.11.2024 um 12:11 Uhr

114757
Lösung 114757 28.12.2015 aktualisiert um 22:05:15 Uhr
Goto Top
Mal wieder die lieben Vergleichsoperatoren face-wink, kam in letzter Zeit öfters...z.B. hier
Verschachtelte IF Abfrage Powershell

Das Gleichheitszeichen(=) ist kein Vergleichsoperator sondern nur ein Zuweisungsoperator. Vergleichen tut man mit -eq etc. liest du bitte dazu about_Comparison_Operators
if ($name -eq "Till" )
Gruß jodel32
niklasschaefer
niklasschaefer 28.12.2015 aktualisiert um 22:25:03 Uhr
Goto Top
Wunderbar funktioniert jetzt!

Danke und noch einen schönen Abend

Gruß Niklas