PowerShell は、ほとんどの Windows ユーザーが認識しているよりもはるかに強力です
<本文>
Windows は、シンプルかつ気楽であることを目指しています。その GUI は、少なくとも基本ユーザーに対して、オペレーティング システムの制御と管理に必要なものをすべて提供します。ターミナル ウィンドウにジャンプしてコマンドやスクリプトを実行する必要が生じることはほとんどありません。 Windows ターミナルが存在する前は、CMD と PowerShell は別個のコマンド ライン環境でしたが、Windows ターミナルは両方をタブでホストできるようになりました。 Microsoft は、コマンド ライン シェルおよびスクリプト言語として PowerShell を提供し、多くのスクリプト シナリオでコマンド プロンプトよりも幅広い機能を提供します。
あなたは、この殺風景なツールの真の力に気づいていないかもしれません。これは、タスクの自動化、システム要素の管理、カスタム スクリプトの作成、およびサポートされている環境での他の Windows システムのリモート管理に役立ちます。
PowerShell は CLI の友達です
シンプルかつ強力

基本的なユーザーにとって、ターミナル インターフェイスはコマンドを入力する場所にすぎません。これはボタンをクリックしたりメニューを移動したりするよりもはるかに複雑に聞こえるため、多くの Windows ユーザーはそれを避けようとします。ただし、PowerShell は多くの管理タスクを実行でき、標準のシステム アプリでは公開されないアクションを自動化できます。
しかし、PowerShell ではどのようにしてそれができるのでしょうか?これは、PowerShell が CLI であり、スクリプト言語でもあるためです。その重要な点は、便利なコマンドレット (プロセスやファイルなどのシステム要素を制御するための短くて強力なコマンド) にアクセスできることです。 PowerShell は、これらのコマンドレットを使用して .NET オブジェクトを操作できます。つまり、OS の特定の要素に関連付けられた情報にアクセスできます。これを使用して、あるコマンドレットから別のコマンドレットに 1 行で情報を渡し、素晴らしいカスタム スクリプトのセットを構築できます。
PowerShell は構造化オブジェクトとシステム API で動作するため、多くの管理タスクのスクリプト化と自動化が容易になります。 PowerShell は動詞と名詞の形式を使用するため、コマンドレットは通常使用するテキストや単語に似ているため、理解しやすく学習しやすくなります。構造化データを理解し、ロジックと条件をサポートするため、利点が得られます。
簡単な例は、システム上で実行中のプロセスのプロセス オブジェクトを返す Get-Process コマンドレットです。
次に、最初のコマンドレットからデータを Sort-Object にパイプすることで、実行中のプロセスを降順で一覧表示するように依頼できます。
Get-Process | Sort-Object WorkingSet -Descending
コマンド構文が、各単語が影響するもの、呼び出すもの、実行するものを説明する基本的な文のように見えることに注目してください。コマンドをさらに変更して、メモリ使用量の上位 3 つのプロセスを停止することができます。
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 3 | Stop-Process -Force
でも、コマンドプロンプトでも同じことはできないのでしょうか?はい、可能ですが、いくつかの制限があります。これは、コマンドを実行してプレーン テキストを出力できる古いツールであることを理解する必要があります。ただし、PowerShell のように構造化データを処理できないため、最新の Windows スクリプト シナリオに対する CMD の適合性が制限されます。
tasklist コマンドを使用して CMD 内のすべてのプロセスを一覧表示できますが、結果を降順に並べるのは少し複雑です。 tasklist/NH | を使用する必要があります。ソート/R/+65。
ここでは、まず /NH を使用して列ヘッダーをスキップするように指示し、次にその結果を 65 番目の文字位置から降順でテキストを並べ替える並べ替えコマンドにパイプします。これは構造化データにアクセスするというよりは、テキストを操作するトリックであり、動詞と名詞の構造に従っていないため、理解するのが困難です。そのため、スクリプト作成は退屈で複雑になります。

関連
Windows を使用しない場合でも PowerShell を使用する必要がある 5 つの理由
PowerShell は、Windows 以外でもさまざまな方法で使用できます。
自動化とスクリプト作成
きめ細かなシステム制御
PowerShell スクリプトを実行して PC 上で何かを修正したり、手動介入が必要なタスクを実行したりすることが、今では私の趣味になっています。私が好んで使用する重要なスクリプトがいくつかあり、タスク スケジューラを使用してそれらを自動化すると、時間を大幅に節約できます。唯一のハードルはスクリプトを書くことですが、いくつかの便利なスクリプトがすでにフォーラムや他のプラットフォームで入手可能です。
実用的な PowerShell ガイダンスについてはニュースレターを購読してください
ニュースレターで厳選されたスクリプト、平易な言語のコマンドレットの説明、Windows 管理タスクに適用できる実践的な自動化の例で、PowerShell に焦点を当てた内容をご覧ください。購読者向けに集められた明確で実用的な PowerShell 資料。
アップデートを取得する
購読すると、ニュースレターとマーケティング電子メールの受信に同意し、利用規約とプライバシー ポリシーに同意したものとみなされます。いつでも購読を解除できます。
良い例は、特定のディレクトリ内の特定のサイズ (たとえば 5GB) を超えるファイルをすべて検索することです。ファイル エクスプローラーを使用してこれを実行したい場合、エクスペリエンスは遅くなり、検索以外の自動化はできません。この種のファイル タスクを確実に自動化したい場合は、通常、PowerShell またはサードパーティ ツールが最適なオプションです。
指定したサイズを超えるすべてのファイルを除外し、それらのファイルに対して操作 (移動、削除など) を実行するカスタム スクリプトを作成できます。次に、タスク スケジューラを使用して、指定した時間間隔で実行されるこのカスタム スクリプトを自動化できます。したがって、私のワークフローでは、そのような些細なアクションに対して手動で介入する必要がなくなりました。タスク スケジューラは、指定した時間または間隔でバックグラウンドでスクリプトを実行します。
これは、作業を容易にする多くの PowerShell スクリプトの 1 つにすぎません。このアプローチを使用すると、GUI ツールとの対話はほとんど無視できます。
PowerShell を無視しないでください
Windows 11 には多くの調整が必要ですが、カスタム PowerShell スクリプトを実行すると、変更をより迅速に行うことができます。リモート管理やログベースのトラブルシューティングなど、エンタープライズ環境でより頻繁に使用される PowerShell 機能は他にもありますが、私は主に自動化とより高度なシステム制御を実行するために使用しています。カスタム スクリプトの構築には学習が必要ですが、一度マスターすれば満足できるでしょう。
*️⃣ 出典リンク:
Windows を使用しない場合でも PowerShell を使用する必要がある 5 つの理由、PowerShell スクリプトの実行、、、、、、 利用規約、 プライバシー ポリシー、タスク スケジューラを使用してこのカスタム スクリプトを自動化、