PowerShell Zip不能在Windows 7上运行

时间:2016-08-03 12:44:40

标签: powershell

我在Windows 8.1和Windows 10上成功运行以下PowerShell脚本:

Add-type -A System.IO.Compression.FileSystem
[IO.Compression.Zipfile]::CreateFromDirectory('C:\Test\WiresharkCapture','C:\Test\WiresharkCapture.zip')

但是,当我在Windows 7上运行此脚本时,出现无法找到System.IO.Compression.FileSystem程序集的错误。

有人可以告诉我需要做什么让Windows 7上的PowerShell可以访问此程序集吗?

1 个答案:

答案 0 :(得分:-1)

它不是关于Powershell本身。它更多的是关于.NET版本的安装。

自.NET framework 4.5版本开始包含它。

因此,您将无法使用较低版本的.NET运行它。

https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile(v=vs.110).aspx

您必须检查.NET Framework版本。

根据MSDN文章,您可以添加一个开关,以便在4.5之后返回版本的营销产品版本号:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release, @{
  name="Product"
  expression={
      switch($_.Release) {
        378389 { [Version]"4.5" }
        378675 { [Version]"4.5.1" }
        378758 { [Version]"4.5.1" }
        379893 { [Version]"4.5.2" }
        393295 { [Version]"4.6" }
        393297 { [Version]"4.6" }
        394254 { [Version]"4.6.1" }
        394271 { [Version]"4.6.1" }
        394747 { [Version]"4.6.2" }
        394748 { [Version]"4.6.2" }
      }
    }
}