Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

WoL per PS-Skript

$
0
0

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


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>