我在远程会话中调用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()|排序-属性名称