我之前问过这个问题,但是我认为我解释得不好:我正在开发一个使用 powershell 脚本的项目:我想在远程机器上执行一个名为“Remote”的文件(存在于下面的第二张图片中),其中包含一些变量,我希望在远程机器上执行文件“Remote”时获取这些变量的内容,我可以将它们存储在本地机器的 excel 文件中。请问我该怎么做呢?
答案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-Content
等Export-CSV
。
答案2
根据您的评论,您说您已经在局部变量 $result 中获得了结果,因此您只需要使用 powershell 文件输出函数将其放入 Excel 可读的文件中。
创建真正的 .xlsx 文件需要一些工作,但您可以使用 .csv 逗号分隔值文件。以下是示例https://superuser.com/a/404096/1571csv 导出或将命令传输到 Out-File