在远程 PC 上调用时无法解压缩文件夹



我正在尝试将位于共享驱动器上的文件夹解压缩到远程PC上的C:根目录,但不断收到错误,如何更正此Powershell?

$Computers = "LN-T48-PF11BL57"
Invoke-Command -Computername $Computers -ScriptBlock {
         Expand-Archive -LiteralPath '\LNAPPSAPPSAdobe iManage FixProgram Files (x86).zip' -DestinationPath C: -Force } -Verbose
Write-Host "Enter to Exit"

这将返回以下错误:

A positional parameter cannot be found that accepts argument '\LNAPPSAPPSAdobe iManage FixProgram Files (x86).zip'.  
    + CategoryInfo          : InvalidArgument: (:) [Expand-Archive], ParameterBindingException  
    + FullyQualifiedErrorId : PositionalParameterNotFound,Expand-Archive  
    + PSComputerName        : LN-T48-PF11BL57

这里有几件事:

  1. 请记住,Windows balks 正在根 c: 中删除内容。
  2. 那么,我们是否假设 \LNApps 是一个服务器名称,而 \APPS 是一个在该服务器上配置的文件夹共享?
  3. 最后,除非该服务器运行的是 PowerShell v5,否则展开存档 cmdlet 不存在。

因此...

无效参数: (:)[Expand-Archive], ParameterBindingException

(Get-CimInstance -ClassName CIM_OperatingSystem).Caption
Microsoft Windows Server 2012 R2 Standard
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   6.3.9600.19170
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

Get-Command -Name '*Expand-archive*'
# No results

(Get-CimInstance -ClassName CIM_OperatingSystem).Caption
Microsoft Windows 10 Pro
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.17763.316
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17763.316} 
BuildVersion                   10.0.17763.316
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


Get-Command -Name '*Expand-archive*'

CommandType     Name               Version    Source
-----------     ----               -------    ------
Function        Expand-Archive     1.0.1.0    Microsoft.PowerShell.Archive

如果该 cmdlet 不存在,则需要使用 .Net 命名空间 System.IO.Compression.File System 来处理此用例。

可用于使用此类压缩或提取文件。这 以下示例将压缩存储在 C:\test 中的文件 文件夹:

Add-Type -Assembly 'System.IO.Compression.FileSystem'
[System.IO.Compression.ZipFile]::CreateFromDirectory('c:testing', 'c:testing.zip','Optimal',$false)

如果要提取文件,请使用 ExtractToDirectory 方法:

[System.IO.Compression.ZipFile]::ExtractToDirectory('c:testing.zip', 'c:newtest')

相关内容

  • 没有找到相关文章

最新更新