PowerShellを使い始めるための5つのコマンドレット
PowerShellは、ITプロフェッショナルだけでなく、パワーユーザーにとっても望ましいスクリプト言語およびCLIになりつつあります。始めるためのいくつかのコマンドを学ぶ価値があるので、今日学ぶために役立つ5つのコマンドレットを用意しました。.
Getコマンド
Get-Commandは、特定のコマンドレットを検索させることでPowerShellを理解するのに役立つので、PowerShell全体で最も便利なコマンドレットの1つです。 Get-Commandを単独で使用することは、PowerShellが持っているすべてのコマンドを吐き出すことになるので、確かにあまり役に立ちません。.
しかし、これから、PowerShellが出力するオブジェクトにはNameプロパティとModuleNameプロパティの両方があります。この情報を使用して、特定の用語を含むコマンドレットを検索することで、検索を詳細に設定できます。たとえば、「IP」という単語を含むすべてのコマンドレットを見つけたい場合は、次のようにします。
Get-Command -Name * IP *
ご覧のとおり、まだかなりの数の結果が得られています。次のオプションは特定のモジュール内を検索することです。私たちの場合、私はNetTCPIPモジュールを選びます.
Get-Command -Module NetTCPIP -Name * IP *
助けを得ます
Get-Commandを使用して探しているコマンドレットを見つけたら、構文とその特定のコマンドレットの使用方法を知りたいと思うでしょう。これがGet-Helpの出番です。Windowsでコマンドラインを使用したことがある場合は、おそらく次のようにしてください。
ipconfig /?
PowerShellではうまくいきません。PowerShellでは、パラメーターとコマンドを区切るためにスペースが使用されているためです。そのため、代わりにGet-Helpを使用し、パラメータとしてGet-Helpにコマンドレット名を渡します。.
取得ヘルプ取得プロセス
会員になる
Get-Memberを使用すると、コマンドレットから返されるオブジェクトに関する情報を取得できます。 get-memberのキャッチは、これを実証するためにPowerShellのパイプライン機能に依存しているということです。Get-Processコマンドレットを使用できます。.
ご覧のとおり、PowerShellの出力にはいくつかのプロパティが表示されています。これらのプロパティは各列の上部に表示されています。最初の問題は、それらがあなたがたいてい探しているかもしれない特性である間、それらがまだあるということです。 2番目の問題は、オブジェクトに対して呼び出すことができるメソッドが表示されないことです。メソッドとプロパティを見るために、次のように出力をGet-Memberに渡すことができます。
取得プロセス会員になる
今は何も意味がないかもしれませんが、遅かれ早かれGet-Memberを使用する必要があります。そして、早く使用することを習得すればするほどよいでしょう。例として、出力からの情報を使用して、以下のようなことができます。
起動プロセスnotepad.exe
$ NotepadProc = Get-Process -Nameメモ帳
$ NotepadProc.WaitForExit()
開始プロセスcalc.exe
そのスクリプトはメモ帳を起動し、それから$ GetpadProc変数に“ Get-Process -Name notepad”の出力を割り当てます。そして$ NotepadProcのWaitForExitメソッドを呼び出します。電卓が起動します.
$ _(現在のパイプラインオブジェクト)
厳密にはコマンドレットではありませんが、PowerShellで最もよく使用される特殊変数の1つです。 $ _の正式名称は、「現在のパイプラインオブジェクト」です。スクリプトブロック、フィルタ、関数のprocess節、where-object、foreach-object、およびスイッチで使用されます。ただし、例を使用して説明する方が簡単です。次の最後のコマンドレットであるWhere-Objectに進みます。.
Whereオブジェクト
Where-Objectは正確には聞こえますが、特定の基準を満たしているかどうかに基づいてオブジェクトを選択します。これにより、$ _と、Get-Memberを使用して表示できるプロパティがまとめられます。これを実証するために、Get-Processの出力をWhere-Objectコマンドレットにパイプ処理します。.
取得プロセスWhere-Object $ _。Name -eq“ iexplore”
だからここで何が起こっているのですか?私たちが最初に行っていることは、コンピューター上でプロセスのリストを取得し、その出力を(|文字を使用して)Where-Objectコマンドレットに渡すことです。このコマンドはスクリプトブロックをパラメーターとして受け取ります。スクリプトブロック(中括弧で定義)はWhere-Objectコマンドレットに、nameパラメーターが "iexplore"と等しいオブジェクトのみを選択するように指示します。そのため、実行中のIEインスタンスの一覧のみが表示されます。それだけです、楽しんでください。!