networkinghomer
Goto Top

Powershell-Fehler von net use und WebDav auswerten, um Passwort ggf. neu einzugeben

Welche Variable taugt zur Auswertung eines fehlgeschlagenen Net-Use-Befehls, der eine WebDav-Verbindung herstellen sollte?

Hallo!
Net Use soll in der Powershell ausgeführt werden und wenn die Verbindung fehl schlägt (z.B. falsches Passwort) soll das ausgewertet werden, um die Passworteingabe zu wiederholen.

Frage: Welchen Wert/Variable kann ich auswerten?

Die If-Schleife ist kein Problem. Es geht nur darum, eben etwas auswertbares "in den Fingern zu halten". Es gibt Anleitungen und Scripte im Internet, aber - sorry - die haben bei mir nie funktioniert. Kann mir jemand helfen? Wäre sehr nett, denn ich komm da echt nicht mehr alleine weiter face-sad

Hier kann man (hoffentlich) ansetzen:


$user="christian"
$pass="iliasdemo"
$ShareName="http://www.demo.ilias.de/webdav.php/demo/ref_274/"

$DriveName="i:"

#funktioniert
net use $DriveName $ShareName /user:$user $pass /persistent:no


Anmerkung1: Das Passwort steht später wenn das Script fertig ist natürlich nicht im Klartext.

Anmerkung2: Es soll Powershell sein, weil später noch der IE geöffnet werden soll (inkl. Auto-Login), was mit einer bat glaube ich nicht geht.

Viele Grüße

Homer

Content-Key: 196321

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

Printed on: April 26, 2024 at 20:04 o'clock

Member: DerWoWusste
DerWoWusste Dec 29, 2012 at 14:21:00 (UTC)
Goto Top
Moin.

Waum nicht Batch mit errorlevel-Abfrage? net use befüllt doch die Variable %errorlevel%.
Und den IE soll Batch nicht starten können? Na klar.
iexplore.exe Webadresse

Wie/ob allerdings die Anmeldung dann erfolgen kann, müsste ich selber raussuchen.
Member: NetworkingHomer
NetworkingHomer Dec 29, 2012 updated at 22:44:17 (UTC)
Goto Top
Moin!
Habe das Problem lösen können. Das Problem ist aber, dass es gar kein Problem - wie oben beschrieben - gab. Das Problem liegt nämlich ganz woanders: Irgendwas stimmt mit meinem Windows-User-Profil nicht. Es äußert sich so, dass Powershell bestimmte Anweisungen (welche genau, weiß ich nicht) ignoriert. Daher gingen auch die anderen Lösungen aus dem Netz zu dem oben beschriebenen Problem nicht.

Beantwortung der Ausgangsfrage:


  1. Map Drive
$P = Start-Process -Filepath cmd -NoNewWindow -Wait `
-ArgumentList "/c net use $DriveName $ShareName $password /user:$user" `
-PassThru

if ($P.ExitCode -eq 0)
{
"Verbindung steht."
}
else
{"Fehler!"}


Tja, was kann das eigentliche Problem verursachen? Bin (noch) ratlos...
Member: NetworkingHomer
NetworkingHomer Dec 29, 2012 at 22:58:25 (UTC)
Goto Top
Juhu, konnte das Problem entgültig lösen. Ich habe herausgefunden, dass
es in dem Ordner

Documents\WindowsPowerShell

eine Datei Namens Profile.ps1 gibt. Die hab ich erstmal umbenannt in .old und siehe da, es geht nun!

Was mit der Datei ist, schau ich mir später an.

face-smile