PowerShellはネットワーク上のリソースにアクセスする機能がいっぱい含まれていてとても便利に使えます。
たとえば、PowerShellヘルプを更新してみましょう。
Update-Help
たとえば、外部WEBページにアクセスしてみましょう。
Invoke-WebRequest http://www.example.com
ところがこれらコマンドが動かない場合があります。WEBブラウザでのブラウジングは平気なのにこれらコマンドは動かないという場合、proxy の設定が絡んでいることが考えられます。
PowerShellのプロキシ設定はWEBブラウザのプロキシ設定とリンクしていません。PowerShell用に設定しなければいけません。
その方法がとてもわかりやすく書いてあるサイトがこちら↓
Using PowerShell Behind a Proxy | Windows OS Hub
proxy の設定がPACファイルによるものの場合、認証Proxyによるものの場合、こちらの手法がピタリと当てはまります。
認証がAD認証の場合、以下設定だけで PowerShell からProxy経由で接続できるようになります。
$Wcl = new-object System.Net.WebClient
$Wcl.Headers.Add(“user-agent”, “PowerShell Script”)
$Wcl.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
認証情報は手動で設定するんだという場合は追加で以下設定を。
$Wcl=New-Object System.Net.WebClient
$Creds=Get-Credentialbr
$Wcl.Proxy.Credentials=$Creds
途中認証を求める画面が出るのでそこで入力すれば良いです。
メンドクサイ構成のネットワークでもどうにかやっていこう。