Wake on Lan script - exception calling ctor error

I am trying to build a wake on LAN script that invoke's a command on a machine to send packets to others.

I read in machine names and MAC addresses from a SQL server database, and use those variables ($item) to sent he packets.

When the script gets to the wake on LAN portion, I get this error

Exception calling ".ctor" with "2" argument(s): "Value cannot be null.

The wake on LAN portion is here:

if($offMachines.Count -gt 0){
    Write-Host "Using $($on) to broadcast WOL to requested machines."
    Invoke-Command -ComputerName $on -ScriptBlock{
        foreach($item in $args){
            [net.ipaddress]$broadcast = $item.Broadcast
            $mac = [Net.NetworkInformation.PhysicalAddress]::Parse($item.MAC.ToUpper().replace(":","").replace("-","").replace(".",""))
            $udp = New-Object net.sockets.udpclient
            $ep = New-Object net.ipendpoint $broadcast, 7  
            $payload = [byte[]]@(255,255,255, 255,255,255);   
            $payload += ($mac.GetAddressBytes()*16)
            $udp.Send($payload, $payload.Length, $ep) | Out-Null
            write-host "WOL command sent to $($item.NAME)"
            Start-Sleep -Seconds 2
        }
    } -ArgumentList $offMachines
}


I believe my error comes from the $udp and $ep variables above.


Any advice is greatly appreciated.

The full error is

Exception calling ".ctor" with "2" argument(s): "Value cannot be null.
Parameter name: address"
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
    + PSComputerName        : TESTMACHINE

  • Edited by jkg_admin Wednesday, August 19, 2015 2:37 PM
August 19th, 2015 1:16pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics