User Tools

Site Tools


Sidebar


Здравствуйте!

Меня зовут Михаил!
Я системный администратор
и наполняю эту wiki,
решая разнообразные IT-задачки.

Моя специализация - виртуализация!

Я всегда готов помочь Вам
наладить IT-инфраструктуру
за скромное вознаграждение!

mike@autosys.tk
+7 (910) 911-96-23

ms_windows_ms_sql:remote_copy_files_using_registry

Задача

Тут надо писать еще!! Скопировать файл на удаленную машину. Однако, в команде есть запятая, которая некорректно обрабатывается (что описано тут: 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

Enter your comment. Wiki syntax is allowed:
W C W Z C
 
ms_windows_ms_sql/remote_copy_files_using_registry.txt · Last modified: 2017/10/20 13:44 by admin