【问题标题】:How can I keep the order of an ordered hashtable after remote session?远程会话后如何保持有序哈希表的顺序?
【发布时间】:2015-12-08 09:00:06
【问题描述】:

我在远程会话中调用 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

【问题讨论】:

  • 我不是凭记忆输入的。相同的代码在我的脚本中(脚本块和会话在两个不同的地方),但我不会发布我的 1330 行代码,只是为了发布一些工作代码。你有什么具体的问题吗?
  • @Temerita 请发布您的代码的minimal, complete and verifiable 示例来演示问题。
  • @alroc 我稍微更改了示例,使其混乱但可执行。

标签: powershell session hashtable ordereddictionary


【解决方案1】:

试试这个:

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

【讨论】:

    猜你喜欢
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2014-05-29
    • 2013-01-31
    • 2021-09-29
    • 2023-04-07
    相关资源
    最近更新 更多