簡體   English   中英

在遠程PC上調用時無法解壓縮文件夾

[英]Unable to Unzip Folder when invoked on a remote PC

我正在嘗試將位於共享驅動器上的文件夾解壓縮到遠程PC上C:\\的根目錄但仍然出現錯誤,我該如何更正此Powershell?

$Computers = "LN-T48-PF11BL57"
Invoke-Command -Computername $Computers -ScriptBlock {
         Expand-Archive -LiteralPath '\\LNAPPS\APPS\Adobe iManage Fix\Program Files (x86).zip' -DestinationPath C:\ -Force } -Verbose

Write-Host "Enter to Exit"

這將返回以下錯誤:

A positional parameter cannot be found that accepts argument '\\LNAPPS\APPS\Adobe iManage Fix\Program 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,否則不存在Expand-Archive cmdlet。

因此......

:InvalidArgument :( :) [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.FileSystem來處理此用例。

可用於使用此類壓縮或提取文件。 以下示例將壓縮存儲在c:\\ testing文件夾中的文件:

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM