Задача
Тут надо писать еще!!
Скопировать файл на удаленную машину.
Однако, в команде есть запятая, которая некорректно обрабатывается (что описано тут: https://stackoverflow.com/questions/23827199/escaping-strings-when-using-wmic ), а другие методы powershell 2.0 не умеет (с помощью BITS не получилось).
Выход из этой ситуации такой. Можно создать скрипт с командой на скачивание дистрибутива и закинуть его более экзотическим способом - через реестр удаленной машины. Этот способ описан тут:
https://github.com/ChrisTruncer/WMIOps/blob/master/WMIOps.ps1
https://github.com/ChrisTruncer/WMIOps
Закинуть сразу дистрибутив - невозможно, поскольку скрипт WMIOps не предназначен для перекидывания больших файлов.
$node='szud-dev200' $user='.\Администратор' $password='P@ssw0rd' $File='c:\temp\upload.ps1' Write-Verbose "Read in local file and base64 encode it" $filecontents = Get-Content -Encoding byte $File $filecontentencoded = [System.Convert]::ToBase64String($filecontents) $password = ConvertTo-SecureString $password -asplaintext -force $credentials = New-Object -Typename System.Management.Automation.PSCredential -argumentlist $user,$password #Copy to remote registry $HKEY_LOCAL_MACHINE=2147483650 $reg= Get-WMIObject -list "StdRegProv" -namespace root\default -computername $node -credential $credentials $Key = "Software\Microsoft\DRM" $ValueName="content" $Value=$filecontentencoded $results = $reg.SetExpandedStringValue($HKEY_LOCAL_MACHINE, $Key, $ValueName, $Value)
Discussion