Быстрый и грязный способ «разблокировать» ps1 файлы из «System.Net.WebClient.DownloadFile» - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть скрипт, который загружает файлы ps1 для запуска на новом компьютере. Я не хочу устанавливать какие-либо дополнения PowerShell или методы расширения. Я просто хочу разблокировать файлы и запустить их. Есть предложения?

$scriptsourcepath = "http://myUrl/"
$scripts = "SQLSetup-Admin.ps1","SQLSetup-NonAdmin.ps1","SQLConfigure.bat"
$downloadpath = "d:\vncutil\"
$clnt = New-Object System.Net.WebClient 

foreach($script in $scripts){
    $url = $scriptsourcepath + $script
    $file = Join-Path $downloadpath $script
    $clnt.DownloadFile($url, $file)
}
$batfile = Join-Path $downloadpath "SQLConfigure.bat"
$execStr = '$batfile >>d:\vncutil\SQLConfigure.log'
& $execStr

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Этот пост от Скотта Хансельмана объясняет, как информация о зоне внедряется в альтернативный поток данных, вы можете использовать эти знания для разблокировки ваших файлов.

Если вы можете использоватьВнешний инструмент, самый простой способ - использовать streams.exe из SysInternals:

streams.exe -d yourscript.ps1
0 голосов
/ 07 февраля 2011

Получил ответ на другом форуме: не то, чтобы @driis не был целью, но это более мощно

http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/0b5f1fa6-981e-4696-84bc-b8046564ec8b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...