2016-07-05 13 views
0

Ich erstelle ein PowerShell-GUI-Skript, das die Serverkonfigurationen migriert, indem es die aktuellen Konfigurationen in .xml exportiert, um sie dann auf einen anderen Computer anzuwenden. Ich habe festgestellt, dass das Cmdlet Export-Clixml nicht funktioniert, wenn ich Ordner mit Sonderzeichen wie ][ sss ]! ' @ # $% (< auswähle.Exportieren von XML in Pfad mit Sonderzeichen

Dieses Problem ist auch im Cmdlets Test-Path, aber ich habe festgestellt, dass die .NET-Methode, doesnot diese Fehler hat beim Testen diese Art von Pfaden [System.IO.Directory]::Exists($DestinationPath + '\ServerConfig.xml')

Meine Frage ist ¿wie ein XML-Export und Import mit .net?

Antwort

1

Ich würde dringend empfehlen, dass Sie a) vermeiden, Sonderzeichen in Ihre Pfade zu setzen, und b) auf mindestens PowerShell v3 aktualisieren, so dass Sie Export-Clixml -LiteralPath (und Test-Path -LiteralPath) verwenden können.

Wenn aus unerfindlichen Gründen, die nicht möglich ist, könnten Sie versuchen,

$xml = $data | ConvertTo-Xml 
$xml.Save('C:\path\to\output.xml') 

jedoch ConvertTo-Xml und Export-Clixml verwenden nicht das gleiche Schema, so dass Sie auch Ihren Import Routine einstellen müßten.

+0

Ich bekomme, Ausnahme Aufruf "Speichern" mit "1" Argument (e): "Unzulässige Zeichen im Pfad." –

+0

@ kimopryvt Dann hat Ihr Pfad [ungültige Zeichen] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#naming_conventions) darin. Repariere das. –

Verwandte Themen