Цитата
alpap:
ничего нигде сбиваться не должно
PowerShell - [решено] Узнать сумму аптаймов за последнюю неделю
Либо я не понял вас, либо вы не вникли.
привожу пример:
Код:
Код: Выделить всё
$dates = @(0..7) # диапозон дат, тут могу вставить любое количество дат
$hashtable = [ordered]@{computername = $env:COMPUTERNAME}
foreach ($date in $dates){
$0 # имя столбца, в каждой итерации разное, то есть их может быть от 1 до бесконечности
$4 # значение столбца $0 в этой итерации
$hashtable.Add($0,$4) # добавляю в таблицу столбец со значением
}
$hashtable # получаю правильную таблицу, с нужным порядком
Правильная таблица - одна строка, начинается с имени пк, далее множество столбцов с датами в именах столбцов и значениями в строке, расположенных по порядку добавления в таблицу.
Но когда я выполняю код на удаленном пк через invoke и получаю таблицу, то порядок столбцов меняется на такой как будь-то я не проставил ordered перед созданием таблицы, пример:
Код:
Код: Выделить всё
$s = New-PSSession $comp # создаю сессию, в которой буду выполнять код
Invoke-Command -Session $s { # далее сам выполняемый код
$dates = @(0..7) # диапозон дат, тут могу вставить любое количество дат
$hashtable = [ordered]@{computername = $env:COMPUTERNAME}
foreach ($date in $dates){
$0 # имя столбца, в каждой итерации разное, то есть их может быть и от 1 до бесконечности
$4 # значение столбца $0 в этой итерации
$hashtable.Add($0,$4) # добавляю в таблицу столбец со значением
}}
$table = Invoke-Command -Session $s {$hashtable} # запрашиваю таблицу из сессии от удаленного пк
$table # таблица с неправильным порядком столбцов.
Причем, если отобразить финальную таблицу еще в сессии на удаленном пк, то она правильная. Но после того как я ее полую на свой пк, то приходит уже поломанная.
То есть таблица ломается именно тут:
Код:
Код: Выделить всё
$table = Invoke-Command -Session $s {$hashtable}