Windows Hyper-V PowerShell-在Linux虚拟机中运行bash命令并获取输出
假设你有Windows Hyper-V PowerShell-在Linux虚拟机中运行bash命令并获取输出,windows,bash,powershell,remote-access,hyper-v,Windows,Bash,Powershell,Remote Access,Hyper V,假设你有 带有Hyper-V和PowerShell 5.1的Windows服务器。您可以添加和使用任何PowerShell模块,如“Hyper-V” Linux虚拟机。它是通用的,因此不允许安装不常见的应用程序,如PowerShell Core 现在,您正在使用(1)Hyper-V,可以在其中运行PowerShell脚本 问题。如何在(2)Linux虚拟机上运行Bash命令,并使用Hyper-V的PowerShell获取其输出 我相信这个问题相当于创建并运行question.ps1,它在linu
/tmp/Linux.sh
:
#/bin/bash
val=100
回音“$val”
退出$?
回答(确认)。在Windows Hyper-V主机中存储PuTTY
提示。轻便腻子就足够了:
假设您已将PuTTY Portable存储在C:\PortableApps\PuTTYPortable中
创建PowerShell脚本文件C:\Users\userH\Desktop\question.ps1
C:\PortableApps\PuTTYPortable\App\putty\PLINK.EXE 10.0.0.200 -l userL -pw passwordL -batch bash /tmp/linux.sh
^^将此行放在此PowerShell脚本文件中的某个位置
在PowerShell中,运行脚本文件question.ps1
:
PS C:\> & "C:\Users\userH\Desktop\question.ps1"
100
PS C:\>
如果您的Linux VM中已经安装了SSH服务器组件,或者允许您安装它,请从Windows计算机使用SSH;也许这有帮助:请阅读原始问题:使用PowerShell,而不是人类用户的SSH。请不要删除甚至不是JavaScript的表。我非常确定我需要IPv4/主机名、用户名、密码和Hyper-V主机和Linux VM guest的脚本(路径),请参见你的question.ps1脚本。很抱歉删除了该表-它肯定没有呈现这样的结果,并且在乱七八糟的原始表示(原始CSS和HTML片段)中,与问题的连接并不明显1.我已经读了原来的问题。我的建议是从PowerShell调用SSH,以便在Linux上执行Bash脚本并捕获其输出。我不知道什么是“用户PowerShell,而不是人类用户的SSH”。means.PuTTY随CLI
plink.exe
,它“是一个类似于UNIXSSH
”的命令行连接工具。感谢:这个答案基于mklement0
的评论。
PS C:\> & "C:\Users\userH\Desktop\question.ps1"
100
PS C:\>