PowerShell実行時のプロキシ設定

プロキシサーバ経由でインターネット接続する際の設定について、備忘録として残しておきます。

以下は未設定状態での応答例となります。

nodist dist
Could not read response for https://nodejs.org/dist/index.json
Could not read response for https://iojs.org/dist/index.json
Could not read response for https://nodejs.org/dist/index.json.
Sorry.

ちなみに

set HTTP_PROXY=http://[HOSTNAME]:[PORTNUMBER]

では、接続できませんでした。

接続できた手順は以下となります。

プロキシ設定

$user = "[USERNAME]"
$password = "[PASSWORD]"
$proxyhost = "[HOSTNAME]:[PORTNUMBER]"
$proxyaddress = "http://$($proxyhost)/"
$proxyaddress_with_authenticattion = "http://$($user):$($password)@$($proxyhost)"
$env:http_proxy = $proxyaddress_with_authenticattion
$env:https_proxy = $proxyaddress_with_authenticattion
$env:ftp_proxy = $proxyaddress_with_authenticattion
$password_secure = ConvertTo-SecureString $password -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential $user, $password_secure
$proxy = New-Object System.Net.WebProxy $proxyaddress
$proxy.Credentials = $creds
[System.Net.WebRequest]::DefaultWebProxy = $proxy
curl ipinfo.io                                                                                  

StatusCode        : 200
StatusDescription : OK
Content           : {
                      "ip": "xxx.xxx.xxx.xxx",
                      "hostname": "xxx.ne.jp",
                      "city": "Yokohama",
                      "region": "Kanagawa",
                      "country": "JP",
                      "loc": "xxx.xxx,xxx.xxx",
                      "org": "xxx CORPORATIO...
RawContent        : HTTP/1.1 200 OK
                    Vary: Accept-Encoding
                    Access-Control-Allow-Origin: *
                    X-Frame-Options: DENY
                    X-XSS-Protection: 1; mode=block
                    X-Content-Type-Options: nosniff
                    Referrer-Policy: strict-origin-when-cro...
Forms             : {}
Headers           : {[Vary, Accept-Encoding], [Access-Control-Allow-Origin, *], [X-Frame-Options, DENY], [X-XSS-Protect
                    ion, 1; mode=block]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 301

プロキシ通過確認はcurlコマンドで確認しています。

この状態で

nodist dist
nodist add v12.18.2

などが実行できるようになりました。

PowerShellのスクリプトが実行できない場合

PowerShellの実行ポリシー変更を行いました。

Set-ExecutionPolicy RemoteSigned
Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

デフォルトはRestrictedとなっています。

タイトルとURLをコピーしました