項目をリモート コンピューターにコピーする際に問題が発生しています。ドメイン管理者の資格情報を使用して、リモート インストールをプッシュしています。このファイルをローカルで実行することはできますが、リモートの場所から MSI ファイルをプッシュしようとするとエラーになります。そのため、ファイルをローカルにコピーして、そこからファイルを実行したかったのです。ファイルを手動でコピーし、コードをテストしたところ、msi ファイルが正しくインストールされましたが、Power Shell でファイルを自動的にコピーできませんでした。
引用符を使用して、スペースを変更せずにエスケープしようとしました。
以下のコードを参照してください。
Function Install-MSI
{
Write-Host "Installing MSI Files..."
$oSession = New-PSSession -ComputerName $sComputer -Credential $oCerdentials
$sResults = Invoke-Command -Session $oSession -ScriptBlock {
$Source = "\\Servername\Folder1\Folder 2\Folder3\Folder 4\File Name with Spaces (64-bit).msi"
Copy-Item -Path $Source -Destination C:\Users\User\Desktop\
Start-Process MSIExec "/i `"C:\Users\User\Desktop\File Name with Spaces (64-bit).msi`" /passive /norestart /lv C:\Users\User\Desktop\log.txt"
}
}
エラー
Cannot find path '\\Servername\Folder1\Folder 2\Folder3\Folder 4\File Name with Spaces (64-bit).msi' because it does not exist.
+ CategoryInfo : ObjectNotFound: (\\Servername...es (64-bit).msi:String) [Copy-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand