ओह, मैं देख रहा हूं कि आप क्या पूछ रहे हैं, आप ConvertTo-CliXml की तलाश में हैं जैसे कनवर्टो-सीएसवी निर्यात-सीएसवी के स्थान पर कैसे काम करता है। पहली नज़र में ऐसा लगता है कि आप पूरी तरह से CliXml से बचने की कोशिश कर रहे हैं।
उस मामले में, वहाँ PoshCode पर एक है: ConvertTo-CliXmlConvertFrom-CliXml
यहाँ एक शब्दशः प्रतिलिपि आप जानकारी देने के लिए (मैं शुद्धता के लिए यह जांच न की हो) है:
function ConvertTo-CliXml {
param(
[Parameter(Position=0, Mandatory=$true, ValueFromPipeline=$true)]
[ValidateNotNullOrEmpty()]
[PSObject[]]$InputObject
)
begin {
$type = [PSObject].Assembly.GetType('System.Management.Automation.Serializer')
$ctor = $type.GetConstructor('instance,nonpublic', $null, @([System.Xml.XmlWriter]), $null)
$sw = New-Object System.IO.StringWriter
$xw = New-Object System.Xml.XmlTextWriter $sw
$serializer = $ctor.Invoke($xw)
$method = $type.GetMethod('Serialize', 'nonpublic,instance', $null, [type[]]@([object]), $null)
$done = $type.GetMethod('Done', [System.Reflection.BindingFlags]'nonpublic,instance')
}
process {
try {
[void]$method.Invoke($serializer, $InputObject)
} catch {
Write-Warning "Could not serialize $($InputObject.GetType()): $_"
}
}
end {
[void]$done.Invoke($serializer, @())
$sw.ToString()
$xw.Close()
$sw.Dispose()
}
}
स्रोत
2014-08-21 23:30:38
आप पढ़ सकते हैं [वस्तु सीरियलाइजेशन निर्देश] (http://blogs.msdn.com/b/powershell/archive/2007/05/01/object-serialization-directives.aspx) और [दूरस्थ सत्रों से और कैसे ऑब्जेक्ट भेजे जाते हैं] (http:/जेफरी स्नोवर से /blogs.msdn.com/b/powershell/archive/2010/01/07/how-objects-are-sent-to-and-from-remote-sessions.aspx)। मुझे यकीन नहीं है कि यह आपको समाधान देता है, लेकिन शायद एक सुराग। – JPBlanc
धन्यवाद @ जेपीब्लैंक। मैंने उन पदों को पढ़ा है और जब वे मुझे बता रहे हैं कि क्या हो रहा है, तो मुझे उम्मीद है कि इसे लागू करने के लिए पहिया का पुन: आविष्कार नहीं करना पड़ेगा .. –
@ स्टेव, क्या आप कोशिश कर रहे हैं कि आप क्या कर रहे हैं इसके बारे में थोड़ा और विशिष्ट हो सकते हैं पूरा करने के लिए? –