public/functions/DeviceConfig.ps1
|
function Get-AvmDeviceConfigFile { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceConfigFile .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceConfigFile .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()] [System.Security.SecureString] $NewPassword = $null ) if ($null -ne $NewPassword) { $SecurePointer = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($NewPassword) $PlainNewPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto($SecurePointer) [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($SecurePointer) } $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_GetConfigFile" $AvmWebrequestBody.InnerBody = "<s:NewX_AVM-DE_Password>{0}</s:NewX_AVM-DE_Password>" -f $PlainNewPassword [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-AvmDeviceConfigurationFinished { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceConfigurationFinished .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceConfigurationFinished .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:DeviceConfig:1#ConfigurationFinished" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "ConfigurationFinishedResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmDevicePersistentData { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDevicePersistentData .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDevicePersistentData .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:DeviceConfig:1#GetPersistentData" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "GetPersistentDataResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmDeviceSupportDataEnable { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceSupportDataEnable .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceSupportDataEnable .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:DeviceConfig:1#X_AVM-DE_GetSupportDataEnable" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "X_AVM-DE_GetSupportDataEnableResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmDeviceSupportDataInfo { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceSupportDataInfo .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceSupportDataInfo .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:DeviceConfig:1#X_AVM-DE_GetSupportDataInfo" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "X_AVM-DE_GetSupportDataInfoResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmDeviceUserAgreement { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceUserAgreement .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceUserAgreement .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:DeviceConfig:1#X_AVM-DE_GetUserAgreement" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "X_AVM-DE_GetUserAgreementResponse" } Connect-AvmDevice @SplatParameters } function Get-AvmDeviceUuid { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceUuid .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Get-AvmDeviceUuid .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:DeviceConfig:1#X_GenerateUUID" UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" XmlResponse = "X_GenerateUUIDResponse" } Connect-AvmDevice @SplatParameters } function New-AvmDeviceUrlSid { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/New-AvmDeviceUrlSid .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/New-AvmDeviceUrlSid .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:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_CreateUrlSID" $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 Reset-AvmDevice { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Reset-AvmDevice .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Reset-AvmDevice .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:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "FactoryReset" $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 Restart-AvmDevice { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Restart-AvmDevice .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Restart-AvmDevice .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:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "Reboot" $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 Send-AvmDeviceSupportData { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Send-AvmDeviceSupportData .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Send-AvmDeviceSupportData .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)] [ValidateSet("normal","mesh","unknown")] [System.String]$NewSupportDataMode ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_SendSupportData" $AvmWebrequestBody.InnerBody = "<s:NewX_AVM-DE_SupportDataMode>{0}</s:NewX_AVM-DE_SupportDataMode>" -f $NewSupportDataMode [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-AvmDeviceConfigFile { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceConfigFile .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceConfigFile .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()] [System.Security.SecureString]$NewPassword = $null, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String]$NewConfigFileUrl ) if ($null -ne $NewPassword) { $SecurePointer = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($NewPassword) $PlainNewPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto($SecurePointer) [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($SecurePointer) } $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_SetConfigFile" $AvmWebrequestBody.InnerBody = @" <s:NewX_AVM-DE_Password>{0}</s:NewX_AVM-DE_Password> <s:NewX_AVM-DE_ConfigFileUrl>{1}</s:NewX_AVM-DE_ConfigFileUrl> "@ -f $PlainNewPassword, $NewConfigFileUrl [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-AvmDevicePersistentData { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDevicePersistentData .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDevicePersistentData .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]$NewPersistentData ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "SetPersistentData" $AvmWebrequestBody.InnerBody = "<s:NewPersistentData>{0}</s:NewPersistentData>" -f $NewPersistentData [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-AvmDeviceSupportDataEnable { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceSupportDataEnable .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceSupportDataEnable .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.Byte][System.Boolean]$NewSupportDataEnabled ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_SetSupportDataEnable" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = "<s:NewX_AVM-DE_SupportDataEnabled>{0}</s:NewX_AVM-DE_SupportDataEnabled>" -f $NewSupportDataEnabled [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-AvmDeviceUserAgreement { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceUserAgreement .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Set-AvmDeviceUserAgreement .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)] [ValidateSet("agreed","rejected")] [System.String]$NewUserAgreed ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "X_AVM-DE_SetUserAgreement" $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.InnerBody = "<s:NewX_AVM-DE_UserAgreed>{0}</s:NewX_AVM-DE_UserAgreed>" -f $NewUserAgreed [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-AvmDeviceConfiguration { <# .SYNOPSIS Wiki: https://github.com/chikenborgir/avmtools/wiki/Start-AvmDeviceConfiguration .DESCRIPTION Wiki: https://github.com/chikenborgir/avmtools/wiki/Start-AvmDeviceConfiguration .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]$NewSessionID ) $AvmWebrequestBody = [AvmBody]::new() $AvmWebrequestBody.Token = $Token $AvmWebrequestBody.SoapAction = "urn:dslforum-org:service:DeviceConfig:1" $AvmWebrequestBody.UrlPath = "$(if ($RemoteAccess) { "/tr064" })/upnp/control/deviceconfig" $AvmWebrequestBody.Action = "ConfigurationStarted" $AvmWebrequestBody.InnerBody = "<s:NewSessionID>{0}</s:NewSessionID>" -f $NewSessionID [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 } |