从较新版本的 Powershell 导入模块

从较新版本的 Powershell 导入模块

我问自己是否可以从较新的 Windows 版本导入 PowerShell 模块。

Windows 8 和 8.1 中的CMDLets*-NetAdapter非常好,所以我也想在 Windows 7 中使用它们。不幸的是,它们需要 PowerShell 4.0。我设法升级了本地 PowerShell,发现它不包含 CMDlets。我在 Windows 8 上找到了模块的位置,并将其复制到我的 Windows 7 机器上。当我尝试Get-NetAdapter在 Windows 7 上使用时,出现错误。错误如下:

 Get-NetAdapter : invalid namespace
 Get-NetAdapter
 ~~~~~~~~~~~~~~
  + CategoryInfo          : MetadataError: (MSFT_NetAdapter:ROOT/StandardCim
  v2/MSFT_NetAdapter) [Get-NetAdapter], CimException
  + FullyQualifiedErrorId : HRESULT 0x8004100e,Get-NetAdapter

有没有办法让这个或 Windows 8/Server 2012 中的其他较新的 CMDLets 在 Windows 7/Server 2008 上使用?

答案1

不可以,您不能这样做。许多 PowerShell 模块依赖于特定于操作系统的 WMI 命名空间。由于 Windows 7 中不存在这些命名空间,因此无法导入这些模块。

Powershell MVP Richard Siddaway在他的博客中详细介绍了这一点

相关内容