Benutzer mit den meisten Antworten
Powershell script welches automatisch eine Wlan Verbindung herstellt.

Frage
-
Wie im Titel schon schlecht umschrieben, versuche ich ein Powershell script zu schreiben welches sich sobald man es ausführt im Wlan anmeldet. Ein Beispiel: Ich habe einen neuen Laptop und möchte das wenn ich dass Script starte dieses den Laptop mit dem Wlannetz verbindet, mit automatischer Passwort eingabe usw. Sprich komplett automatisch. Hat da wer ne Idee oder im besten Fall schon nen fertiges script?
Das einzige was ich bis jetzt geschafft habe, war ein YouTube Video nach zu basteln, man lässt sich das Wlan Profil als xml ausgeben, schreibt dann eine ps1 mit folgendem Inhalt: netsh wlan add profile filename="$PSScriptRoot\Name der xml datei.xml
und eine bat mit folgendem Inhalt:
@ECHO OFF
PowerShell.exe -NoProfile -Command "& {Start-Process PowerShell.exe -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}"
exitGebracht hat mir das aber nichts :0
LG
EinHilfloserITler
- Bearbeitet EinHilfloserITler Montag, 21. Oktober 2019 12:23
Antworten
-
Nein, eher
netsh wlan add profile filename="%~dp0Profile.xml" netsh wlan connect ssid="Wlan Name" name="ProfileXYZ"
Evgenij Smirnov
- Als Antwort markiert EinHilfloserITler Mittwoch, 23. Oktober 2019 11:30
Alle Antworten
-
Nein, es geht ja darum das Laptops die noch nie mit dem Wlan verbunden waren sich mit dem Wlan verbinden, daher ja auch die Automatische Passwort Eingabe etc. Es geht einfach nur ums Arbeit sparen. Ich würde halt gerne bei mir auf der Firma den Prozess des Laptops einrichten komplett automatisieren und das ist momentan eine der Dinge an denen es scheitert.
Sprich es gibt einen neuen Laptop und der braucht ja auch Internet Zugang, eigentlich klickt man dann ja unten rechts auf das kleine Wlan Symbol sucht sich das Netzwerk aus welches man haben möchte, gibt das Passwort ein und dann ist es verbunden. Ich hätte aber gerne ein Script welches genau diese Arbeit für mich übernimmt.
- Bearbeitet EinHilfloserITler Montag, 21. Oktober 2019 12:37
-
Schau mal hier: connect to a WiFi network
Blog: http://www.bytecookie.de
Powershell Code Manager: Link
(u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.- Bearbeitet Denniver ReiningMVP, Moderator Montag, 21. Oktober 2019 13:31
-
Okay, habe mit dem ganzen jetzt mal ein bisschen rum gespielt und leider auch wieder ohne Erfolg.
Fehlercodes bekomme ich keine, allerdings schließt sich das ganze immer wieder direkt.
Also ich starte das Script, Powershell springt in den Vordergrund und schließt sich direkt wieder.
-
PowerShell.exe -NoProfile -Command "& {Start-Process PowerShell.exe -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}"
exit
Moin,
1. Bitte Code als Code posten
2. Du rufst aus CMD ne PS in einer PS auf, die aber nur CMD-Befehle beinhaltet. Ich glaube, das sollte auch mit weniger Verschachtelungen zu machen sein ;-) Was passiert denn, wenn Du den netsh-Befehl einfach in Deine CMD schreibst? Die XML-Datei ist ja fix und wird nicht von Computer zu Computer verändert, dann kannst Du sie einfach neben das Skript legen und gut...
Evgenij Smirnov
-
Moin,
1. Tut mir leid, bin komplett neu hier und habe nicht dran gedacht.
2. Wie würde das Script denn bei dir aussehen? Ich pack ma alle Scripts rein die ich bis jetzt verwendet habe, vielleicht übersehe ich die ganze Zeit ja nur ein Kleinigkeit.
Und ich entschuldige mich für meine Unbeholfenheit, ich bin erst seit 2 Monaten in der Ausbildung und hatte vorher noch nichts mit CMD/PS zu tun.
Gruß
Das erste ist die PS und das zweite die .bat dazu gehört natürlich noch xml datei
netsh wlan add profile filename="$PSScriptRoot\WLAN-*****.xml
@ECHO OFF PowerShell.exe -NoProfile -Command "& {Start-Process PowerShell.exe -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}" exit
Dann die simpelste PS:
netsh wlan connect ssid="WLAN Name" key="Passwort"
Und dann zu guter letzt die PS von dem Blog welcher mir über dieses Forum geschickt wurde:
$WirelessNetworkSSID = '<Wlan Name>' $WirelessNetworkPassword = '<Passwort>' $Authentication = 'WPA2' $Encryption = 'AES' # Create the WiFi profile, set the profile to auto connect $WirelessProfile = @' <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> <name>{0}</name> <SSIDConfig> <SSID> <name>{0}</name> </SSID> </SSIDConfig> <connectionType>ESS</connectionType> <connectionMode>auto</connectionMode> <MSM> <security> <authEncryption> <authentication>{2}</authentication> <encryption>{3}</encryption> <useOneX>false</useOneX> </authEncryption> <sharedKey> <keyType>passPhrase</keyType> <protected>false</protected> <keyMaterial>{1}</keyMaterial> </sharedKey> </security> </MSM> </WLANProfile> '@ -f $WirelessNetworkSSID, $WirelessNetworkPassword, $Authentication, $Encryption # Create the XML file locally $random = Get-Random -Minimum 1111 -Maximum 99999999 $tempProfileXML = "$env:TEMP\tempProfile$random.xml" $WirelessProfile | Out-File $tempProfileXML # Add the WiFi profile and connect Start-Process netsh ('wlan add profile filename={0}' -f $tempProfileXML) # Connect to the WiFi network - only if you need to Start-Process netsh ('wlan connect name="{0}"' -f $WirelessNetworkSSID)
- Bearbeitet EinHilfloserITler Dienstag, 22. Oktober 2019 10:41
-
Moin, ich würde an der Stelle gar nichts mit PowerShell machen. Die XML generieren schon, aber einspielen mit einer einfachen CMD, die nur den NETSH-Befehl beinhaltet...
Evgenij Smirnov
-
Nein, eher
netsh wlan add profile filename="%~dp0Profile.xml" netsh wlan connect ssid="Wlan Name" name="ProfileXYZ"
Evgenij Smirnov
- Als Antwort markiert EinHilfloserITler Mittwoch, 23. Oktober 2019 11:30
-
Dann heißt die XML-Datei anders. Wenn Du das manuell aufrufst, müsstest Du den kompletten Pfad sehen. Evtl. Leerzeichen im Pfad behandeln...
Evgenij Smirnov
-
%~dp0 funktioniert nur in einer Batchdatei, nicht auf der Commandline. Mehr dazu: "for /?"
Greetings/Grüße, Martin - https://mvp.microsoft.com/en-us/PublicProfile/5000017 Mal ein gutes Buch über GPOs lesen? - http://www.amazon.de/Windows-Server-2012--8-Gruppenrichtlinien/dp/3866456956 Good or bad GPOs? My blog - http://evilgpo.blogspot.com And if IT bothers me? Coke bottle design refreshment - http://sdrv.ms/14t35cq