Я задавал этот вопрос раньше, но думаю, что плохо объяснил: я работаю над проектом, использующим сценарии PowerShell: я хотел бы выполнить на удаленной машине файл с именем «Remote» (существовал во втором вниз), который содержит некоторые переменные, я ищу, чтобы получить содержимое этих переменных, когда файл «Remote» выполняется на удаленном компьютере, чтобы я мог сохранить их в файле Excel на локальном компьютере. Как я могу сделай это пожалуйста?

Первое изображение представляет команду, которая будет выполнять файл с именем Remote

Второе изображение представляет файл remote, который содержит переменные

2 ответа2

1

Сбор данных из удаленного сеанса:

New-PSSession -ComputerName localhost -Credential (Get-Credential) | Out-Null
$a = Invoke-Command -Session (Get-PSSession) -ScriptBlock {
    $env:PROCESSOR_ARCHITECTURE | Out-String
}
$b = Invoke-Command -Session (Get-PSSession) -ScriptBlock {
    "Test Data"
}
Get-PSSession | Remove-PSSession

Как вы можете видеть на скриншоте ниже ... переменные $a и $b заполняются информацией из удаленного сеанса PSSession (который может быть на любой машине с включенным PowerShell Remoting)

Это должно дать вам то, что вам нужно - вы можете затем экспортировать любой контент, который вам нравится, в текстовые файлы, файлы CSV и т.д., Используя Set-Content , Export-CSV и различные другие командлеты / функции.

0

Из вашего комментария вы говорите, что вы уже получили результаты в локальной переменной $ result, поэтому вам просто нужно использовать функции вывода файла powershell, чтобы получить их в файл для чтения в Excel.

Для создания реального файла .xlsx потребуется немного усилий, но вы можете использовать файл значений с разделителями-запятыми .csv. На https://superuser.com/a/404096/1571 приведены примеры экспорта в формате csv или передачи команды в Out-File.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .