Powershell:从远程机器获取变量并将其存储在本地机器的 excel 文件中

Powershell:从远程机器获取变量并将其存储在本地机器的 excel 文件中

我之前问过这个问题,但是我认为我解释得不好:我正在开发一个使用 powershell 脚本的项目:我想在远程机器上执行一个名为“Remote”的文件(存在于下面的第二张图片中),其中包含一些变量,我希望在远程机器上执行文件“Remote”时获取这些变量的内容,我可以将它们存储在本地机器的 excel 文件中。请问我该怎么做呢?

第一张图片代表将执行名为 Remote 的文件的命令

第二张图代表文件 remote,其中包含变量

答案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 远程处理

在此处输入图片描述

这应该可以满足您的需要 - 然后您可以使用 和各种其他 cmdlet/函数将任何您喜欢的内容导出到文本文件、CSV 文件Set-ContentExport-CSV

答案2

根据您的评论,您说您已经在局部变量 $result 中获得了结果,因此您只需要使用 powershell 文件输出函数将其放入 Excel 可读的文件中。

创建真正的 .xlsx 文件需要一些工作,但您可以使用 .csv 逗号分隔值文件。以下是示例https://superuser.com/a/404096/1571csv 导出或将命令传输到 Out-File

相关内容