Не получается сохранить строку в XML
Для начала структура файлов
root\en-US\test.psd1
root\test.ps1
root\test.psd1
root\en-US\test.psd1
ConvertFrom-StringData -StringData @'
CleanUpTaskToast = Cleaning up unused Windows files and updates starts in a minute
'@
root\test.ps1
Clear-Host
Remove-Module -Name test -Force -ErrorAction Ignore
Import-Module -Name .\test.psm1 -PassThru -Force
Import-LocalizedData -BindingVariable Global:Localization -FileName test
CreateCleanUpTask
root\test.psd1
function CreateCleanUpTask
{
function xml
{
$app = "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\cleanmgr.exe"
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
$Template = [Windows.UI.Notifications.ToastTemplateType]::ToastImageAndText01
[xml]$ToastTemplate = ([Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent($Template).GetXml())
[xml]$ToastTemplate = @"
<toast launch="app-defined-string">
<visual>
<binding template="ToastGeneric">
<text>$($Localization.CleanUpTaskToast)</text>
</binding>
</visual>
</toast>
"@
$ToastXml = New-Object -TypeName Windows.Data.Xml.Dom.XmlDocument
$ToastXml.LoadXml($ToastTemplate.OuterXml)
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($app).Show($ToastXml)
}
$test = (Get-Command -Name xml).ScriptBlock
$Action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-noexit $test"
$Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9am
$Settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable
$Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest
$Parameters = @{
"TaskName" = "test"
"Principal" = $Principal
"Action" = $Action
"Settings" = $Settings
"Trigger" = $Trigger
}
Register-ScheduledTask @Parameters -Force
}
Проблема заключается в том, что в переменную $Localization.CleanUpTaskToast не получается загрузить локализованную строку из файла. Соответственно, при запуске задачи во всплывающем тосте отсутствует предложение. Я понимаю, что можно создать изначально файл для последующего запуска Планировщиком, но хочу принципиально самодостаточную задачу.
Вся проблема в том, что задача не может создаться, если использовать here-string @" "@. Но именно такие кавычки нужны для правильной загрузки переменной.
В общем, как сделать так, чтобы локализация сохранялась в xml-файл?