我想在非群集服务器上执行我的任务,并将它们作为群集任务导入到已构build和testing的新群集中。
以下是我所尝试的:
cls $xmlFilename="i:\Scripts\ImportScheduledTasks\CleaupMessageLog.xml" $xmlContents = get-content $xmlFilename Register-ClusteredScheduledTask -TaskName "TestXMLTask" -TaskType AnyNode -Xml $xmlContents
XML导入到Windows任务计划程序中,但不是“集群”任务。
这是我运行上面的代码时得到的错误:
Register-ClusteredScheduledTask : Cannot process argument transformation on parameter 'Xml'. Cannot convert value to type System.String. At C:\Users\nwalters\Documents\TestWebSampleCode4FromXML.ps1:4 char:80 + Register-ClusteredScheduledTask -TaskName "TestXMLTask" -TaskType AnyNode -Xml $ ... + ~ + CategoryInfo : InvalidData: (:) [Register-ClusteredScheduledTask], ParameterBindingArgumen tTransformationException + FullyQualifiedErrorId : ParameterArgumentTransformationError,Register-ClusteredScheduledTask
认为它需要一个XML文档,我也试过这个:
cls $xmlFilename="i:\Scripts\ImportScheduledTasks\CleaupMessageLogUTF8.xml" $xmlContents = get-content $xmlFilename $xmlDoc = [xml] (get-content $xmlFilename) $test = $xmlDoc.OuterXml #Write-Host $test Register-ClusteredScheduledTask -TaskName "TestXMLTask" -TaskType AnyNode -Xml $xmlDoc
我打开文件,将UTF16更改为UTF8并重新保存,closures第一个示例中的不同文件名。
错误:
Register-ClusteredScheduledTask : The task XML is malformed. (1,2)::ERROR: incorrect document syntax At C:\Users\nwalters\Documents\TestWebSampleCode4FromXML.ps1:7 char:1 + Register-ClusteredScheduledTask -TaskName "TestXMLTask" -TaskType AnyNode -Xml $ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (PS_ClusteredScheduledTask:Root/Microsoft/...edScheduledTask) [Register-ClusteredScheduledTask], CimException + FullyQualifiedErrorId : HRESULT 0x8004131a,Register-ClusteredScheduledTask
如果XML确实格式不正确,那么我怎样才能加载它并获得.OuterXml?
-Xml参数需要将xmlinput作为string。
Get-Content默认情况下会返回一个string数组(每行一个),这就是为什么第一个错误会被抛出。
为了解决这个问题,在调用Get-Content使其返回单个string时使用-Raw参数:
$xmlContents = Get-Content $xmlFilename -Raw
在PowerShell 3.0之前,您可以通过将string数组pipe道到Out-String来实现同样的目的:
$xmlContents = Get-Content $xmlFilename | Out-String