public/functions/Hosts.ps1
|
function Find-AvmHostUpdate { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Find-AvmHostUpdate .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Find-AvmHostUpdate .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_HostsCheckUpdate" $AvmWebrequestBody.Token = $Token [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Get-AvmHostAutoWakeOnLanByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostAutoWakeOnLanByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostAutoWakeOnLanByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.Action = "X_AVM-DE_GetAutoWakeOnLANByMACAddress" $AvmWebrequestBody.InnerBody = "<s:NewMACAddress>{0}</s:NewMACAddress>" -f $NewMACAddress [xml]$avmBodyParameter = $AvmWebrequestBody.GenerateBody() [string]$soapAction = $AvmWebrequestBody.GenerateSoapAction() [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $avmBodyParameter SoapAction = $soapAction UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetAutoWakeOnLANByMACAddressResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostChangeCounter { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostChangeCounter .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostChangeCounter .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#X_AVM-DE_GetChangeCounter" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetChangeCounterResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostFriendlyName { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostFriendlyName .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostFriendlyName .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#X_AVM-DE_GetFriendlyName" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetFriendlyNameResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostGenericHostEntry { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostGenericHostEntry .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostGenericHostEntry .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$NewIndex ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "GetGenericHostEntry" $AvmWebrequestBody.InnerBody = "<s:NewIndex>{0}</s:NewIndex>" -f $NewIndex [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Get-AvmHostInfo { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostInfo .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostInfo .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#X_AVM-DE_GetInfo" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetInfoResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostListPath { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostListPath .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostListPath .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#X_AVM-DE_GetHostListPath" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetHostListPathResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostMeshListPath { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostMeshListPath .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostMeshListPath .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#X_AVM-DE_GetMeshListPath" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "X_AVM-DE_GetMeshListPathResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostNumberOfEntry { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostNumberOfEntry .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostNumberOfEntry .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential ) [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = "urn:dslforum-org:service:Hosts:1#GetHostNumberOfEntries" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" XmlResponse = "GetHostNumberOfEntriesResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmHostSpecificEntryByIp { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostSpecificEntryByIp .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostSpecificEntryByIp .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Net.IPAddress]$NewIPAddress ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_GetSpecificHostEntryByIp" $AvmWebrequestBody.InnerBody = "<s:NewIPAddress>{0}</s:NewIPAddress>" -f $NewIPAddress [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Get-AvmHostSpecificHostEntry { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostSpecificHostEntry .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmHostSpecificHostEntry .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "GetSpecificHostEntry" $AvmWebrequestBody.InnerBody = "<s:NewMACAddress>{0}</s:NewMACAddress>" -f $NewMACAddress [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostAutoWakeOnLanByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostAutoWakeOnLanByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostAutoWakeOnLanByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.SByte][System.Boolean]$NewAutoWOLEnabled ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetAutoWakeOnLANByMACAddress" $AvmWebrequestBody.InnerBody = @" <s:NewMACAddress>{0}</s:NewMACAddress> <s:NewAutoWOLEnabled>{1}</s:NewAutoWOLEnabled> "@ -f $NewMACAddress, $NewAutoWOLEnabled [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostDeviceClassUserByIp { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostDeviceClassUserByIp .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostDeviceClassUserByIp .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewIPAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewSetDeviceClassUser ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetDeviceClassUserByIP" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = @" <s:NewIPAddress>{0}</s:NewIPAddress> <s:NewX_AVM-DE_SetDeviceClassUser>{1}</s:NewX_AVM-DE_SetDeviceClassUser> "@ -f $NewIPAddress, $NewSetDeviceClassUser [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostDeviceClassUserByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostDeviceClassUserByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostDeviceClassUserByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewDeviceClassUser ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetDeviceClassUserByMAC" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = @" <s:NewMACAddress>{0}</s:NewMACAddress> <s:NewX_AVM-DE_SetDeviceClassUser>{1}</s:NewX_AVM-DE_SetDeviceClassUser> "@ -f $NewMACAddress, $NewDeviceClassUser [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostFriendlyName { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyName .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyName .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewFriendlyName ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetFriendlyName" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = "<s:NewX_AVM-DE_FriendlyName>{0}</s:NewX_AVM-DE_FriendlyName>" -f $NewFriendlyName [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostFriendlyNameByIp { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyNameByIp .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyNameByIp .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewIPAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewFriendlyName ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetFriendlyNameByIP" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = @" <s:NewIPAddress>{0}</s:NewIPAddress> <s:NewX_AVM-DE_FriendlyName>{1}</s:NewX_AVM-DE_FriendlyName> "@ -f $NewIPAddress, $NewFriendlyName [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostFriendlyNameByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyNameByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostFriendlyNameByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewFriendlyName ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetFriendlyNameByMAC" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = @" <s:NewMACAddress>{0}</s:NewMACAddress> <s:NewX_AVM-DE_FriendlyName>{1}</s:NewX_AVM-DE_FriendlyName> "@ -f $NewMACAddress, $NewFriendlyName [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostNameByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostNameByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostNameByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewHostName ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetHostNameByMACAddress" $AvmWebrequestBody.InnerBody = @" <s:NewMACAddress>{0}</s:NewMACAddress> <s:NewHostName>{1}</s:NewHostName> "@ -f $NewMACAddress, $NewHostName [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Set-AvmHostPrioritizationByIp { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostPrioritizationByIp .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmHostPrioritizationByIp .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewIPAddress, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Byte][System.Boolean]$NewPriority ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_SetPrioritizationByIP" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = @" <s:NewIPAddress>{0}</s:NewIPAddress> <s:NewX_AVM-DE_Priority>{1}</s:NewX_AVM-DE_Priority> "@ -f $NewIPAddress, $NewPriority [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath Body = $AvmWebrequestBody.GenerateBody() XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Start-AvmHostWakeOnLanByMac { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Start-AvmHostWakeOnLanByMac .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Start-AvmHostWakeOnLanByMac .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_WakeOnLANByMACAddress" $AvmWebrequestBody.InnerBody = "<s:NewMACAddress>{0}</s:NewMACAddress>" -f $NewMACAddress [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } function Update-AvmHost { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Update-AvmHost .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Update-AvmHost .NOTES Author: chikenborgir Website: https://github.com/chikenborgir/avmtools License: https://github.com/chikenborgir/avmtools/blob/main/LICENSE .LINK https://github.com/chikenborgir/avmtools https://github.com/chikenborgir/avmtools/blob/main/LICENSE #> Param ( [Alias("i")] [Parameter()] [System.Management.Automation.SwitchParameter]$Insecure = $false, [Alias("r")] [Parameter()] [System.Management.Automation.SwitchParameter]$RemoteAccess = $false, [Alias("t")] [Parameter()] [System.String]$Token, [Alias("u")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$Url, [Alias("p")] [Parameter(Mandatory)] [ValidateRange(0,65535)] [System.UInt16]$Port, [Alias("c")] [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.Management.Automation.PSCredential]$Credential, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewMACAddress ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:Hosts:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/hosts" $AvmWebrequestBody.Action = "X_AVM-DE_HostDoUpdate" $AvmWebrequestBody.InnerBody = "<s:NewMACAddress>{0}</s:NewMACAddress>" -f $NewMACAddress [System.Collections.Hashtable]$SplatParameters = @{ Insecure = $Insecure Url = $Url Port = $Port Credential = $Credential Body = $AvmWebrequestBody.GenerateBody() SoapAction = $AvmWebrequestBody.GenerateSoapAction() UrlPath = $AvmWebrequestBody.UrlPath XmlResponse = $AvmWebrequestBody.GenerateXmlResponse() } Connect-AvmDevice @SplatParameters } |