0
我在遠程會話中調用ServerObject的scriptblock。在腳本塊中,我創建一個散列表並將其保存在ServerObject中。在腳本塊的末尾,順序是正確的,在會話之後項目的順序是錯誤的。如何在遠程會話之後保持排序哈希表的順序?
$Serv = New-Object -TypeName PSObject
$Serv | Add-Member -MemberType NoteProperty -Name Cn -Value Computername
$Serv | Add-Member -MemberType NoteProperty -Name Inf -Value ""
function getInf(){
$Inf = [ordered]@{
SiteConfig = "a";
BrokerController = "b";
AdminRoles = "c";
}
$Serv.Inf = $Inf
}
getInf
$ServResult = Invoke-Command -Cn $Serv.Cn -Credential $Cred -ScriptBlock {
param($Serv)
Invoke-Command -ScriptBlock ([ScriptBlock]::Create($Serv.getInf))
$Serv
}-ArgumentList $Serv
Remove-PSSession -ComputerName $Serv.Cn
$ServResult.Inf
它可能是Clixml序列化問題 - https://connect.microsoft.com/PowerShell/Feedback/Details/771721 –
我沒有從內存中鍵入它。我的腳本中有相同的代碼(腳本塊和會話位於兩個不同的位置),但我不會發布我的1330行代碼,只是發佈一些工作代碼。你有一些具體的問題嗎? – Temerita
@Temerita請發佈一個[最小,完整且可驗證的](http://stackoverflow.com/help/mcve)示例代碼來演示此問題。 – alroc