none
WoL per PS-Skript RRS feed

  • Frage

  • Hallo Zusammen,

    sitze hier gerade verzweifelt an einem Skript für WoL. Die Mac Adressen zum remote Auslesen, ist schon geschrieben und funktioniert auch. Nun möchte ich die Text-Datei mit den MAC-Adressen für den folgenden Skript auslesen lassen. Durch verschiedene Quellen habe ich mir einen Skript gebastelt, der bei einzelen MAC-Adressen funktioniert...nur mehrere Adressen über die Textdatei funktionieren nicht...

    Es hängt bei der Abfragen der MAC-Adressen wenn ich die Datei als String einlese funktioniert die erste MAC-Adresse in der .TXT-Datei....Ziel der Übung ist ja, dass alle funktionieren sollten und mit der ForEach syntax haut das irgentwie nicht hin...Bitte um Hilfe :-)



    function Send-Wake
    {


    [CmdletBinding()]
    param(
    [Parameter(Mandatory=$True,Position=1)]
    [string]$mac,
    [string]$ip="255.255.255.255",
    [int]$port=9
    )
    $broadcast = [Net.IPAddress]::Parse($ip)

    $mac=(($mac.replace(":","")).replace("-","")).replace(".","")
    $target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)}
    $packet = (,[byte]255 * 6) + ($target * 16)

    $UDPclient = new-Object System.Net.Sockets.UdpClient
    $UDPclient.Connect($broadcast,$port)
    [void]$UDPclient.Send($packet, 102)

    }
    $File = "_MAC.txt"
    $Position = -1 #fängt bei 0 an zu zählen

    ForEach ($Position in $File) {
             $Position+=1
             send-wake (Get-content $File | Out-String)
             }




    VG

    Hanuta

    Mittwoch, 19. August 2015 09:20

Antworten

  • Hi Hanuta,

    versuch es mal so herum:

    $MACs = Get-Content "MAC.txt"
    
    ForEach ($MAC in $MACs)
       {
       Send-Wake $MAC
       }


    Gruß

    Ben

    MCSA Windows 8 (.1) MCSA Windows Server 2012 (R2)

    Wenn Dir meine Antwort hilft, markiere sie bitte entsprechend als Antwort! Danke! :-)

    Hinweis: Meine Posts werden "wie besehen" ohne jedwede Gewähr bereitgestellt, da menschliche, technische und andere Fehler nicht ausgeschlossen werden können.

    • Als Antwort markiert Hanuta Mittwoch, 19. August 2015 09:54
    Mittwoch, 19. August 2015 09:32

Alle Antworten

  • Hi Hanuta,

    versuch es mal so herum:

    $MACs = Get-Content "MAC.txt"
    
    ForEach ($MAC in $MACs)
       {
       Send-Wake $MAC
       }


    Gruß

    Ben

    MCSA Windows 8 (.1) MCSA Windows Server 2012 (R2)

    Wenn Dir meine Antwort hilft, markiere sie bitte entsprechend als Antwort! Danke! :-)

    Hinweis: Meine Posts werden "wie besehen" ohne jedwede Gewähr bereitgestellt, da menschliche, technische und andere Fehler nicht ausgeschlossen werden können.

    • Als Antwort markiert Hanuta Mittwoch, 19. August 2015 09:54
    Mittwoch, 19. August 2015 09:32
  • Hi Ben,

    vielen Dank für die schnelle Antwort, habe es gerade getestet und es Funktioniert :-)

    VG

    Hanuta

    Mittwoch, 19. August 2015 09:54