2016-07-07 5 views
1

packer.ioとpowershellスクリプトを使ってchocolateyをインストールしようとしています。Packer.io - プロキシの後ろにチョコレートをインストールする

私は2つのスクリプトを用意しています.1つはプロキシ設定用、もう1つはchocolateyインストール用です。プロキシの 最初のスクリプト:

$ErrorActionPreference = "Stop" 
# set global proxy 
$reg = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
Set-ItemProperty -Path $reg -Name ProxyServer -Value "http://mycompoany.proxy:1234" 
Set-ItemProperty -Path $reg -Name ProxyEnable -Value 1 

chocolateyをインストールするための2番目のスクリプト:

$ErrorActionPreference = "Stop" 
$reg = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 

$settings = Get-ItemProperty -Path $reg 
$settings.ProxyServer 
$settings.ProxyEnable 

iex ((new-object net.webclient).DownloadString('http://chocolatey.org/install.ps1')) 

私は2番目のスクリプトにはない、パッカーと最初のスクリプトのパスでPowerShellを使用して、このスクリプトを実行します。

^[[0;32m windows-2012-R2-standard: Exception calling "DownloadString" with "1" argument(s): "Unable to connect to^[[0m 
^[[0;32m windows-2012-R2-standard: the remote server"^[[0m 
^[[0;32m windows-2012-R2-standard: At C:\Windows\Temp\script.ps1:19 char:1^[[0m 
^[[0;32m windows-2012-R2-standard: + iex ($wc.DownloadString('https://chocolatey.org/install.ps1'))^[[0m 
^[[0;32m windows-2012-R2-standard: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^[[0m 
^[[0;32m windows-2012-R2-standard: + CategoryInfo   : NotSpecified: (:) [], ParentContainsErrorRecordE^[[0m 
^[[0;32m windows-2012-R2-standard: xception^[[0m 
^[[0;32m windows-2012-R2-standard: + FullyQualifiedErrorId : WebException^[[0m 
^[[0;32m windows-2012-R2-standard:^[[0m 
^[[1;32m==> windows-2012-R2-standard: Deleting output directory...^[[0m 

もちろん、$ settings.ProxyServerは正しいプロキシアドレスを返し、プロキシは有効です。 packerで作成された最初のスクリプトと起動マシンだけを実行すると、修正なしで手動でchocolateyをインストールし、IEを使用してインターネットをブラウズできます。私が最初のスクリプトを実行しないと(プロキシを設定するために)私はプロキシのために何もインストールしません。また、私はインターネットのページを開くことができません。結果として、私はプロキシスクリプトが動作すると仮定します。

私はuserを使用せず、私のプロキシを渡します。

私のWindowsシステムはWindows 2012 server R2です。 パッカーバージョン0.10.1

webclient powershellオブジェクトに直接プロキシを設定しようとしましたが、これも機能しません。

アイデア?

+0

'-ExecutionPolicy unrestricted'を試みましたか?例えば'@powershell -NoProfile -ExecutionPolicy unrestricted -Command" iex((new-object net.webclient).DownloadString( 'https://chocolatey.org/install.ps1')) '' –

答えて

0

これは使用できます。私のために働いた。 https://github.com/chocolatey/choco/wiki/Proxy-Settings-for-Chocolatey

明示的なプロキシ設定

Chocolateyは0.9.9.9で始まる明示的なプロキシをサポートしています。

1つまたは3つの設定を構成するだけで、Chocolateyはプロキシサーバーを使用します。プロキシは必須であり、プロキシサーバーの場所とポートです。 proxyUserとproxyPasswordはオプションです。ユーザー/パスワードの値は、両方が存在する場合にのみ資格情報に使用されます。

choco config set proxy <locationandport> 
choco config set proxyUser <username> 
choco config set proxyPassword <passwordThatGetsEncryptedInFile> 

0.9.9.9で次のコマンドを実行している

choco config set proxy http://localhost:8888 
choco config set proxyUser bob 
choco config set proxyPassword 123Sup#rSecur3 
0

生憎私はパワーシェルでプロキシを設定することはできません。これは再起動なしでは動作しません。手動でIEを手動で実行してください。

私はAutounattend.xmlファイルにproxyを設定しましたが、この解決策が機能します。

関連する問題