none
Powershell script welches automatisch eine Wlan Verbindung herstellt. RRS feed

  • 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}"
    exit

    Gebracht hat mir das aber nichts :0

    LG
    EinHilfloserITler


    Montag, 21. Oktober 2019 12:16

Antworten

Alle Antworten

  • Wozu?
    Das stelle ich beim WLAN direkt ein "Automatsich Verbinden", wenn in Reichweite.

    Montag, 21. Oktober 2019 12:22
  • 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.


    Montag, 21. Oktober 2019 12:27
  • 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.

    Montag, 21. Oktober 2019 13:30
    Moderator
  • Vielen dank. Ich habe es zwar gerade auf Anhieb nicht ans laufen bekommen, aber er hat mir schon mal keine Fehlercodes um die Ohren geschossen. Ich probiere nochmal ein bisschen damit herum und melde mich dann nochmal :D 
    Montag, 21. Oktober 2019 13:41
  • 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.

     
    Dienstag, 22. Oktober 2019 07:21
  • Du kannst auch erst die Powershell starten und dann aus der Shell das Skript starten. Dadurch bleibt das Fenster offen und du kannst nachvollziehen, was passiert.

    Gruß

    Dienstag, 22. Oktober 2019 07:58
  • 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

    http://evgenij.smirnov.de

    Dienstag, 22. Oktober 2019 08:20
  • Das habe ich auch schon probiert, aber es passiert das gleiche. 
    Mir wird kein Fehlercode ausgegeben, es öffnen sich für einen Augenblick zwei Fenster, welche sich aber auch sofort wieder schließen und das wars.

    Gruß

    Dienstag, 22. Oktober 2019 10:24
  • 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)



    Dienstag, 22. Oktober 2019 10:32
  • 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

    http://evgenij.smirnov.de

    Dienstag, 22. Oktober 2019 11:04
  • Sprich das
    netsh wlan connect ssid="Wlan Name" key="Passwort"
    als CMD und dann die xml dazu packen?
    Dienstag, 22. Oktober 2019 13:17
  • Nein, eher

    netsh wlan add profile filename="%~dp0Profile.xml"
    netsh wlan connect ssid="Wlan Name" name="ProfileXYZ"


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Dienstag, 22. Oktober 2019 14:53
  • Ich bekomme folgenden Fehler: 

    Das System kann die angegeben Datei nicht finden.

    Der angegebenen Schnittstelle ist kein Profil "ProfileName" zugewiesen.


    Mittwoch, 23. Oktober 2019 06:55
  • 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

    http://evgenij.smirnov.de

    Mittwoch, 23. Oktober 2019 08:25
  • Habe ich überprüft und die Angegebenen Pfade und Namen sind richtig.

    Bei dem Code muss ich bei filename="%~dp0Profile.xml" den Pfad angeben oder bleibt das so?

    Mittwoch, 23. Oktober 2019 09:03
  • %~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

    Mittwoch, 23. Oktober 2019 10:05
  • Jetzt hat es geklappt, vielen vielen dank.

    Vielen dank an alle die hier kommentiert haben.

    Mittwoch, 23. Oktober 2019 11:31