如何在远程会话后保持有序哈希表的顺序



我在远程会话中调用ServerObject的脚本块。在脚本块中,我创建了一个哈希表,并将其保存在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

试试这个:

$Inf.GetEnumerator()|排序-属性名称

最新更新