将WMI-Command发送到Hyper-V虚拟机

我正在寻找一种方法发送一个wmi命令(特定“wmic进程”)到一个虚拟机(托pipe与Hyper-V 2016),并得到它的输出。 我正在用powershell观察虚拟机的Windows部署安装状态,需要等待进程启动(在虚拟机中)。

vm此时处于Windows Pre-Environment状态,所以我无法启用PowerShell远程处理(因为在此状态下未启用PowerShell)

这是一个22的情况。 Powershell Remoting实际上只是在WinRM / WSMan / CIM之上构build的一个很好的function,所以说你不能启用powershell remoting是不能访问WinRM / WSMan的可见症状,这意味着你不能使用WMI / CIM。

如果事情已经处于期望的状态,那么你可以运行Test-WSMan 。 不幸的是,这似乎不是你的情况。

假设你没有使用自动化,比如SCCM或者将脚本加载到你正在部署的映像中,那么由于以下主要原因,你就处于困境:

  1. WinRM服务没有默认configuration侦听器
  2. 防火墙closures到WinRM端口
  3. Hyper-V默认情况下不提供对这些信息的访问
  4. ICMP默认是禁用的

你的补救办法很大程度上取决于你的环境。 在我们的环境中我们:

  1. 使用DISM从Microsoft加载PowerShell脚本到股票图像
  2. 最低限度configurationWDS以安装操作系统并启动脚本
  3. 通过脚本将计算机join到域中

一旦join域,GPP允许我们确保,除其他外:

  1. WinRM侦听器已configuration
  2. 必要的防火墙端口被打开
  3. ICMP已启用

你也可以:

  • 创build一个黄金形象
  • 手动join域以获取GPPconfiguration
  • 使用SCCM或其他所需的状态系统
  • 创build一个你为其他机器克隆的黄金VHD

你没有提供更多关于你的环境的细节,所以这只是一个1000米的观点。