我正在Windows 8.1和Windows 10上成功运行以下PowerShell脚本:
Add-type -A System.IO.Compression.FileSystem
[IO.Compression.Zipfile]::CreateFromDirectory('C:TestWiresharkCapture','C:TestWiresharkCapture.zip')
但是,当我在Windows 7上运行此脚本时,我遇到一个错误,即找不到System.IO.Compression.FileSystem程序集。
有人能告诉我需要做什么才能让PowerShell在Windows 7上访问此程序集吗?
这与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:SOFTWAREMicrosoftNET Framework SetupNDP' -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" }
}
}
}