パワーシェル を使用すると、Windows PC 上で必要なすべての制御が可能になり、習得も簡単です。したがって、コマンド・プロンプト を無視し、Windows PowerShell コマンドを使用して、これらの反復的な管理タスクを自動化します。
PowerShell を学習すると、bash シェル内でほとんどの Linux 管理タスクを処理する方法も学びます。 PowerShell は、ほとんどの Linux ディストリビューション にあるものと似ています。
PowerShell とは何ですか?
Windows PowerShell は、Microsoft がシステム管理者向けに開発したコマンド ライン インターフェイスおよびスクリプト言語です。ただし、他のプログラミング言語よりもはるかに簡単であるため、管理者やプログラマーでなくても使用できます。これは通常の英語に似ており、誰でも理解でき、コンピュータの管理に使用できます。
Windows PowerShell で使用されるコマンドは「コマンドレット」と呼ばれます。これらを使用すると、コンピュータ上で特定のアクションまたは一連のアクションをアクティブ化できます。これらのアクションは、ワイヤレス ネットワークへのログインなどの単純な場合もあれば、特定の反復タスクの自動化などのより複雑な場合もあります。
PowerShell を開くには、スタート ボタンを押し、検索ボックスに「powershell 」と入力し、Windows PowerShell を選択します。コマンドライン インターフェースが開き、コマンドの入力を開始できるようになります。
この記事では、最も便利で簡単な PowerShell コマンドを 10 個以上取り上げます。
1.ヘルプ
Get-Help コマンドレットは、PowerShell を開始するのに最適な場所です。これは、実行できる内容の概要を提供するものであり、特定のコマンドレットに関する詳細情報が必要な場合にも役立ちます。
PowerShell ウィンドウを開いて「Get-Help 」と入力するだけです。これにより、PowerShell とは何かを説明する包括的な概要が開き、その機能と構造が理解できるようになります。また、インターフェイスを通じて直接 Web にアクセスして、より高度なヘルプ ファイルを取得することもできます。これらのファイルは、後で使用するためにダウンロードできます。
しかし、get-help コマンドはこれで終わりではありません。入力:
ヘルプ *
PowerShell には、その時点で使用できるすべてのコマンドレットが一覧表示されます。リストはおそらく膨大になるため、表示されるすべてのコマンドレットを学ぶ必要はありません。ただし、自由に読んで、利用可能なあらゆる可能性を探索してください。.
タイプ:
Get-Help <コマンド名>
括弧は必要ありません。興味のあるコマンドの名前を入力するだけです。このコマンドレットにより、そのコマンドに関する基本情報が表示されます。コマンドのさらに詳しい説明を参照するには、次のように入力します。
Get-Help <コマンド名>- 完全
特定のコマンド タイプの使用例が必要な場合:
Get-Help <コマンド名>- 例
2.取得コマンド
特定のコマンドまたは一連のコマンドに関する情報をすぐに取得したいですか? Get-Command コマンドレットがそれを行います。 Get-Command には非常に多くのオプションがありますが、PowerShell の基本ユーザーとしては、そのほとんどは必要ありません。ここでは、特に利用可能なコマンドをナビゲートする場合に役立つ、基本的なコマンドレットをいくつか紹介します。
同じタイプの特定のコマンドレットのリストが必要な場合:
Get-Command -
たとえば、次の複雑なフレーズは、使用可能なすべてのコマンドレット タイプのコマンドのリストを表示し、名前に含まれる名詞のアルファベット順に並べ替えるようコンピュータに命令します。
Get-Command -Type コマンドレット |並べ替えオブジェクト -プロパティ名詞|フォーマットテーブル -GroupBy 名詞
これは、PowerShell に複雑なタスクを実行させる、より複雑なコマンドの優れた例です。構文を理解すると、コンピューター上で一部の作業を行うには、PowerShell を使用するのが最も速くて簡単であることがわかります。
特定のコマンドを名前で検索したい場合は、次のように入力します。
Get-Command -Name <コマンド名>
探しているコマンドの正確な名前は分からないが、名前の一部はわかっている場合は、次のように入力できます。
Get-Command -Name <コマンド名>-UseFuzzyMatching
このコマンドレットは、
3.コンテンツの取得
ファイルの内容を確認したい場合は、Get-Content コマンドレットを使用します。コンピュータがファイルを見つけられるように、そのファイルの正確な場所を指定する必要があります。.
上の例では、この目的のために作成されたテスト テキスト ファイルの内容を確認できます。これは単純なコマンドですが、その機能を知っていれば、他のコマンドと組み合わせて、Windows PowerShell を通じて非常に強力なタスクを実行できます。
4.取得プロセス
Get-Process コマンドレットは、コンピューター上で現在実行中のプロセスに関する情報を提供します。メモリ使用量、CPU サイクル、プロセス ID、およびその他の属性を確認できます。
このコマンドレットにプロセス名を追加すると、特定のプロセスに関する情報を確認できます。たとえば、Discord アプリケーション プロセスに関する情報が必要な場合は、「Get-Process Discord 」と入力するだけです。
構文の「Get」プレフィックスを置き換えるだけで、PowerShell を通じてプロセスを開始または停止できます。プロセスを開始するには、次のように入力します。
Start-Process <プロセス名または ID>
プロセスを停止するには、次のように入力します。
Stop-Process <プロセス名または ID>
5.サービスを受ける
システム管理者にとって、Get-Service コマンドレットは非常に便利です。この単純なコマンドレットは、システム上で現在実行されているすべてのサービスを表示し、それらを制御できるようにします。これは、コンピュータを実行するために現在動作しているすべてのプログラムを確認できることを意味します。
これで、サービス名を使用してサービスを制御できるようになります。 Restart-Service <サービス名> などのコマンドを使用してフリーズしたサービスを解除し、 Stop-Service <サービス名> を使用して完全に停止します。 Start-Service もう一度開始します。
6.アイテムを取得
特定の項目が必要な場合は、オペレーティング システムに統合されている検索バーを使用するよりも、PowerShell を使用して見つけた方が早い場合があります。必要なファイルの場所がわかっている場合は特に便利です。このようにコマンドを使用するだけです。
アイテム C を取得:
これにより、「C:」ハードドライブ内のファイルのリストが表示されます。さらに具体的に、ユーザーのプロファイルの下にあるすべてのディレクトリを検索したり、「ドキュメント」または「ダウンロード」ディレクトリをさらに深く検索したりできます。これを行うには、次のように入力します。
Get-Tem C:\users\<ユーザー名>\* .
システム ディレクトリなどのコンテナから子アイテムを取得する必要がある場合は、コマンドレット Get-ChildItem を使用できます。このコマンドは、そのコンテナ内のすべてのファイルとディレクトリを表示します。 Get-Item コマンドレットと同様に、コンテナのパスを指定する必要があります。
項目を削除するには、「Get」接尾辞を「Remove」に置き換えます。これにより、ファイルやフォルダーからレジストリ キーや関数に至るまで、すべてを削除できます。 「削除-項目 <場所\ 名前> 」と入力します。このコマンドレットを詳細に設定して、隠しファイルや「読み取り専用」ファイルのみを削除したり、特定のフォルダーやサブフォルダーからアイテムを削除したりできます。
7. ConvertTo-HTML
このコマンドは、.NET オブジェクトを Web ブラウザで表示できる HTML ファイルに変換するのに役立ちます。これは出力コマンドレットであり、他のコマンドレットと連携して適切に動作することを意味します。他のコマンドレットの末尾に追加し、特定のファイル パスを含めるだけです。
たとえば、ローカル コンピュータの現在のすべてのプロセスの名前、パス、会社を表示する HTML ファイルを作成する場合は、次のように入力します。
取得プロセス | ConvertTo-Html - プロパティ名、パス、会社 - タイトル「プロセス情報」 |アウトファイル ファイル名.htm
filename.htm を任意のファイル名に置き換えます。
作成したファイルを開くには、Invoke-Item コマンドレット と
8.セット実行ポリシー
ローカルの PowerShell スクリプトを実行する場合は、PowerShell 自体の実行ポリシーを変更する必要があります。 Windows コンピュータでは、実行ポリシーは常に制限されているため、RemoteSigned または Unrestricted に変更する必要があります。 Linux や Mac などの Windows 以外のコンピューターでは、通常は [無制限] に設定されており、変更できません。
PowerShell 実行ポリシーについて詳しく知りたい場合は、次のように入力してください。
ヘルプ Set-ExecutionPolicy
PowerShell は、コンピューター上の実行ポリシーに関するヘルプ ファイルを表示するか、存在しない場合は通知します。ただし、オンラインでたどって読むことができるリンクも提供されます。.
ポリシーを RemoteSigned に設定するには、次のように入力します。
Set-Executionpolicy RemoteSigned
無制限タイプに設定するには:
無制限の Set-Executionpolicy
実行ポリシーの現在の設定を確認するには、次のように入力します。
Get-Executionpolicy
実行ポリシーは PowerShell のセキュリティ戦略の一部であるため、変更の確認を求められます。確実に続行する場合にのみ、Y を入力してください。
9.オブジェクトの選択
このコマンドは、オブジェクトとオブジェクトのセット、一意のオブジェクト、および配列内の特定の位置にあるオブジェクトを選択するために使用されます。選択するオブジェクトを指定するために使用できるさまざまなパラメーターがあります。その中には、プロパティ、数値、特定の入力オブジェクトなどがあります。
プロパティ属性によってオブジェクトを選択するには、名前、ID、CPU などの属性を指定する必要があります。属性をグループ化することもできますが、コマンドを入力する際には属性をカンマで区切る必要があります。 Select-Object コマンドレットの動作を確認するには、次のように入力します。
取得プロセス | Select-Object -Property プロセス名、ID、CPU
PowerShell は、以下に示すように、現在のプロセスとその属性をすべてリストします。
-EpandProperty コマンドを使用して、特定の属性に関する詳細情報を取得できるようになりました。 ProcessName 属性のタイプの Modules プロパティの詳細が必要な場合:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty モジュール |形式リスト
コマンドの「Format-list」出力は、結果をフォーマットして読み取り可能にするためにあります。
10.エクスポート-CSV
Get-Command コマンドレットで見たように、PowerShell コマンドによって長いリストが生成されることがあります。長いリストや大量の情報は読みにくいため、より整理された方法で読みたいと思うでしょう。これを行うには、すべてのデータを CSV ファイルにエクスポートします。 Export-CSV 関数を使用すると、PowerShell でこれを直接行うことができます。
たとえば、コマンドレット Get-Command を使用すると、その時点で PowerShell で使用できるすべてのコマンドレットの長いリストが得られることがわかりました。 Get-Command と Export-CSV を組み合わせて、Excel などのアプリが認識できる、名前、ソース、バージョンなどのカンマ区切りの値を含む詳細なリストを作成できます。.
これを行うには、PowerShell コマンド プロンプトに次のコマンドを入力します。ただし、任意のパスを設定でき、ファイルに別の名前を付けることもできることに注意してください。
Get-Command |名前、ソース、バージョンを選択 |エクスポート-csv D:\AllCommands.csv
Excel でリストを開くと、次の画像のようなものが表示されるはずです。
.