第12章. インターネット対応スクリプト
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
12.0 はじめに
PowerShellは、スクリプトがローカルシステムとのみやり取りする場合でも、非常に大きな利点を提供するが、インターネットからのデータソースを扱うことで、エキサイティングでユニークな機会が開かれる。たとえば、インターネットからファイルや情報をダウンロードしたり、Webサービスとやり取りしたり、出力をHTMLとして保存したり、長時間実行したスクリプトの結果を報告する電子メールを送信したりすることもできる。
PowerShellは、そのコマンドレットと.NET Frameworkのネットワーキング・サポートへのアクセスを通じて、インターネット対応管理のための十分な機会を提供する。
12.1 FTPまたはインターネットサイトからファイルをダウンロードする
問題
インターネット上のFTPロケーションやWebサイトからファイルをダウンロードしたい。
解決策
Invoke-WebRequest コマンドレットの パラメータを使用する:-OutFile
PS > $source = "http://www.leeholmes.com/favicon.ico" PS > $destination = "c:\temp\favicon.ico" PS > PS > Invoke-WebRequest $source -OutFile $destination
ディスカッション
Invoke-WebRequest コマンドレットを使うと、リモートウェブサーバから簡単にデータをアップロードしたりダウンロードしたりすることができる。ユーザエージェント、プロキシ (発信接続にプロキシが必要な場合)、および資格情報を指定できる点で、ウェブブラウザのように動作する。
このソリューションは、Web (HTTP) リソースからファイルをダウンロードすることを示しているが、Invoke-WebRequest コマンドレットは、FTP 場所もサポートしている。FTP ロケーションを指定するには、例 12-1 に示すように、ソースの最初にftp:// を使用する。
例12-1. FTPサイトからファイルをダウンロードする
PS > $source = "ftp://site.com/users/user/backups/backup.zip" PS > $destination = "c:\temp\backup.zip" PS > PS > Invoke-WebRequest $source -OutFile $destination -Credential myFtpUser
ほとんどのインターネットサイトからダウンロードするファイルとは異なり、FTP転送には通常、ユーザ名、パスワードが必要である。ユーザ名、パスワードを指定するには-Credentialパラメータを使う。
ダウンロードするファイルが最終的にWebページであり、それを解析したり読み取ったりしたい場合、Invoke-WebRequest コマンドレットはそのシナリオに特化した他の機能を持っている。Web ページをダウンロード、解析する方法の詳細については、レシピ 12.4 を参照のこと。
こちらも参照のこと。
12.2 FTPサイトにファイルをアップロードする ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access