我问自己是否可以从较新的Windows版本导入PowerShell模块。
Windows 8和8.1中的*-NetAdapter CMDLets相当不错,所以我也想在Windows 7中使用它们。 不幸的是,他们需要PowerShell 4.0。 我设法升级我的本地PowerShell,发现它不包括CMDlets。 我在Windows 8上find了该模块的位置,并将其复制到我的Windows 7机器上。 当我尝试在Windows 7上使用Get-NetAdapter时,出现错误。 错误如下:
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上可用?
不,你不能这样做。 许多PowerShell模块依赖于特定于操作系统的WMI命名空间。 由于这些在Windows 7中不存在,因此无法导入模块。
Powershell MVP Richard Siddaway 在他的博客中详细介绍了这一点 。