Geek SchoolがPowerShellを使ってウィンドウを自動化する方法を学ぶ
このエディションのGeek Schoolでは、Windowsに組み込まれている強力なPowerShellスクリプト言語を理解するのに役立ちます。IT環境で知ることは非常に役立ちます。.
このシリーズは試験を中心に構成されていませんが、PowerShellを学ぶことはネットワーク管理者としてできる最も重要なことの1つです。そのため、ITキャリアを支援するために学びたいことが1つあります。それに、とても楽しいです.
前書き
PowerShellは、Microsoftが提供する最も強力な自動化ツールであり、そのシェルとスクリプト言語の両方です。.
このシリーズは、Windows 8およびServer 2012に同梱されているPowerShell 3に基づいています。Windows7を実行している場合は、続行する前にPowerShell 3アップデートをダウンロードしてください。.
コンソールとISEに会う
PowerShellと対話するには、コンソールと統合スクリプト環境(ISEとも呼ばれます)の2つの方法があります。 ISEはPowerShell 2に同梱されていたひどいバージョンから大幅に改善されており、Win + Rキーボードの組み合わせを押して実行ボックスを表示し、次にpowershell_iseと入力してEnterキーを押すと開くことができます.
ご覧のとおり、ISEは分割ビューになっているため、結果をISEの下半分に表示しながらすばやくスクリプトを作成できます。スクリプトの結果が表示されるISEの下半分も、REPLプロンプトとして使用できます。これは、コマンドプロンプトとよく似ています。 v3 ISEはついにスクリプトペインとインタラクティブコンソールの両方でインテリセンスのサポートを追加しました.
あるいは、PowerShellコンソールを使用してPowerShellと対話することもできます。これは、このシリーズの大部分で使用します。 PowerShellコンソールはコマンドプロンプトとほとんど同じように動作します。コマンドを入力するだけで、結果が表示されます。 Windows PowerShellコンソールを開くには、もう一度Win + Rキーボードの組み合わせを押して実行ボックスを開き、powershellと入力してEnterキーを押します。.
このようなREPLプロンプトは即時満足のために素晴らしいです。あなたはコマンドを入力し、あなたは結果を得ます。コンソールはインテリセンスを提供しませんが、それはタブ補完と呼ばれるものを提供します。それはほとんど同じように機能します - 単にコマンドをタイプし始めて、可能なマッチを通して循環するためにタブを押してください.
ヘルプシステムの使い方
PowerShellの過去のバージョンでは、Windowsをインストールしたときにヘルプファイルが含まれていました。これはほとんどの場合良い解決策でしたが、重大な問題を抱えていました。 PowerShellヘルプチームがヘルプファイルの作成をやめなければならなかったとき、PowerShell開発者はまだコーディングと変更に忙しかったです。これは、PowerShellが出荷されたとき、ヘルプファイルにはコードに加えられた新しい変更が含まれていなかったために正しくなかったことを意味していました。この問題を解決するために、PowerShell 3にはヘルプファイルは用意されておらず、更新可能なヘルプシステムが含まれています。これは、何かをする前に最新のヘルプファイルをダウンロードしたいということです。これを行うには、PowerShellコンソールを開いて次のコマンドを実行します。
更新ヘルプ
最初のPowerShellコマンドを実行していただきありがとうございます。実のところ、Update-Helpコマンドには、単に実行するよりもはるかに多くのオプションがあります。それらを見るには、コマンドのヘルプを表示します。コマンドのヘルプを表示するには、Get-HelpコマンドのNameパラメータに、ヘルプを表示したいコマンドの名前を渡すだけです。次に例を示します。
Get-Help -Nameアップデートヘルプ
とにかく、そのテキストをどうやって解釈するのかと疑問に思っているのですが、構文セクションの下に2つの情報があるのはなぜでしょうか。まず最初に:構文セクションの下に2つの情報ブロックがあるのは、それらがコマンドを実行するための異なる方法を表しているからです。これらは技術的にパラメータセットと呼ばれ、一度に使用できるのは1つだけです(異なるセットのパラメータを混在させることはできません)。上のスクリーンショットでは、上のパラメータセットにSourcePathパラメータがあり、下のパラメータセットにはないことがわかります。ネットワーク上の別のマシンからヘルプファイルをダウンロードしている場合はtopパラメータセット(SourcePathを含むもの)を使用しますが、ソースファイルを指定している場合はソースパスを指定する必要はありません。マイクロソフトから最新のファイルを入手したい.
2番目の質問に答えるために、ファイルが従うのに役立つ特定の構文があります、そしてそれはここにあります:
- パラメータ名とその型を囲む角括弧は、それがオプションのパラメータであることを意味し、コマンドはそれなしでも問題なく動作します。.
- パラメーター名を囲む角括弧は、パラメーターが定位置パラメーターであることを意味します。.
- 角括弧内のパラメータの右側にあるものは、パラメータが期待しているデータ型を示しています。.
ヘルプファイルの構文を読むことを学ぶべきですが、特定のパラメータがわからない場合は、get helpコマンドの最後に-Fullを追加し、parametersセクションまでスクロールして、それぞれについてもう少し詳しく説明してください。パラメータ.
Get-Help -Nameアップデートヘルプ-Full
ヘルプシステムについて最後に知っておく必要があるのは、それを使ってコマンドを見つける方法です。これは実際には非常に簡単です。おわかりのとおり、PowerShellはほとんどどこでもワイルドカードを受け入れます。そのため、Get-Helpコマンドと一緒に使用すると、コマンドを簡単に見つけることができます。たとえば、私はWindowsサービスを扱うコマンドを探しています。
Get-Help -Name *サービス*
確かに、これらすべての情報はコウモリにとって便利ではないかもしれませんが、私を信頼して、時間をかけてヘルプシステムの使い方を学んでください。それは何年もの間これをしてきた先進的なスクリプト作成者にとってさえ、いつでも便利です。.
セキュリティ
セキュリティについて言及しない限り、これは適切な紹介にはなりません。 PowerShellチームにとって最大の心配は、PowerShellがスクリプトキッズにとって最新かつ最大の攻撃ポイントになることです。彼らは、これが起こらないようにするためにいくつかのセキュリティ対策を講じているので、それらを見てみましょう。.
最も基本的な保護形式は、PS1ファイル拡張子(PowerShellスクリプトを表すために使用される拡張子)がPowerShellホストに登録されていないこと、実際にはメモ帳に登録されていることから来ています。つまり、ファイルをダブルクリックすると、実行する代わりにメモ帳で開くようになります。.
次に、単にスクリプトの名前を入力してもシェルからスクリプトを実行することはできません。スクリプトへのフルパスを指定する必要があります。 Cドライブでスクリプトを実行したい場合は、次のように入力する必要があります。
C:\ runme.ps1
あるいは、Cドライブのルートに既にいる場合は、以下を使用することができます。
.\ runme.ps1
最後に、PowerShellには実行ポリシーと呼ばれるものがあり、これによって古いスクリプトを実行することができなくなります。実際、デフォルトでは、スクリプトを実行することはできず、実行を許可したい場合は実行ポリシーを変更する必要があります。 4つの注目すべき実行ポリシーがあります。
- 制限あり注:これはPowerShellのデフォルト設定です。この設定は、シグネチャに関係なく、スクリプトを実行できないことを意味します。この設定でPowerShellで実行できる唯一のものは、個別のコマンドです。.
- AllSigned: この設定では、スクリプトをPowerShellで実行できます。スクリプトには、信頼された発行元からのデジタル署名が関連付けられている必要があります。信頼できる発行元からスクリプトを実行する前にプロンプトが表示されます.
- RemoteSigned注:この設定ではスクリプトを実行できますが、インターネットからダウンロードされたスクリプトと構成ファイルには、信頼された発行元からのデジタル署名が関連付けられている必要があります。ローカルコンピュータから実行されるスクリプトは署名する必要はありません。スクリプトを実行する前にプロンプトは表示されません.
- 無制限:これにより、インターネットからダウンロードしたすべてのスクリプトと設定ファイルを含む、未署名のスクリプトを実行することができます。これにはOutlookとMessengerのファイルが含まれます。ここでのリスクは、署名やセキュリティなしでスクリプトを実行することです。私達はあなたが私達にこの設定を決してしなかったことを推薦した.
現在の実行ポリシーが何に設定されているかを確認するには、PowerShellコンソールを開き、次のように入力します。
Get-ExecutionPolicy
このコースおよび他のほとんどの状況では、RemoteSignedポリシーが最善です。次の手順に従って、先に進んでポリシーを変更してください。.
注:これは、管理者権限の高いPowerShellコンソールから実行する必要があります。.
Set-ExecutionPolicy RemoteSigned
皆さん、これでおしまいです。PowerShellをもっと楽しくするために明日お会いしましょう。.
免責事項:PowerShellコマンドの適切な用語はコマンドレットです。今後はこの正しい用語を使用します。この導入のためにそれらをコマンドと呼ぶほうがより適切であると感じた.
質問がある場合は、@ taybgibbにツイートするか、コメントを入力してください。.