source/Scripts/Configuration/AssignedAccessWmiBridgeHelpers.ps1 (46 lines of code) (raw):
function Get-AssignedAccessCspBridgeWmi {
$NameSpace = "root\cimv2\mdm\dmmap"
$Class = "MDM_AssignedAccess"
return Get-CimInstance -Namespace $NameSpace -ClassName $Class
}
function Set-ShellLauncherConfiguration {
param (
[Parameter(Mandatory=$True)]
[String] $FilePath
)
$Xml = Get-Content -Path $FilePath
$EscapedXml = [System.Security.SecurityElement]::Escape($Xml)
$AssignedAccessCsp = Get-AssignedAccessCspBridgeWmi
$AssignedAccessCsp.ShellLauncher = $EscapedXml
Set-CimInstance -CimInstance $AssignedAccessCsp
# get a new instance and print the value
(Get-AssignedAccessCspBridgeWmi).ShellLauncher
}
function Clear-ShellLauncherConfiguration {
$AssignedAccessCsp = Get-AssignedAccessCspBridgeWmi
$AssignedAccessCsp.ShellLauncher = $NULL
Set-CimInstance -CimInstance $AssignedAccessCsp
}
function Get-ShellLauncherConfiguration {
(Get-AssignedAccessCspBridgeWmi).ShellLauncher
}
function Get-MultiAppKioskConfiguration {
(Get-AssignedAccessCspBridgeWmi).Configuration
}
function Set-MultiAppKioskConfiguration {
param (
[Parameter(Mandatory=$True)]
[string] $FilePath
)
$Xml = Get-Content -Path $FilePath
$AssignedAccessCsp = Get-AssignedAccessCspBridgeWmi
$EncodedXml = [System.Net.WebUtility]::HtmlEncode($Xml)
$AssignedAccessCsp.Configuration = $EncodedXml
Set-CimInstance -CimInstance $AssignedAccessCsp
(Get-AssignedAccessCspBridgeWmi).Configuration
}
function Clear-MultiAppKioskConfiguration {
$AssignedAccessCsp = Get-AssignedAccessCspBridgeWmi
$AssignedAccessCsp.Configuration = $NULL
Set-CimInstance -CimInstance $AssignedAccessCsp
}