コンピュータのメンテナンス
 Computer >> コンピューター >  >> トラブルシューティング >> コンピュータのメンテナンス

WindowsPowerShellスクリプトで生産性を向上させる

Linuxの生産性をWindowsに持ち込むことができたらどうでしょうか。 WindowsとLinuxの主な違いの1つは、ほとんどのLinuxディストリビューションに強力なBashシェルがパッケージ化されていることです。比較すると、Windowsのコマンドプロンプトは必要最低限​​のものです。 Windowsに同様に強力な端末がある場合はどうなりますか?

PowerShellを使用すると、その夢が現実になる可能性があります。

免責事項:PowerShellは「Bashfor Windows」ではなく、またそうなることを意図したものでもありません。はい、どちらも生産性を大幅に向上させることができるコマンドライン環境ですが、類似点はここで終わります。 PowerShellは、強力なコマンドライン環境を作成するための独自のアプローチと見なす必要があります。

PowerShellとは何ですか?

PowerShellは、Windowsコマンドプロンプトの大規模なアップグレードと考えることができます。多くの同じタスク(システムのナビゲート、ファイルの操作、プロパティの変更など)を実行できますが、.NETFramework全体を開いて最大限の能力を発揮します。このメリットを理解するには、読み続けてください。

PowerShellを従来のコマンドプロンプトよりも優れたものにする主な利点は2つあります。拡張性 およびスクリプト可能性

WindowsPowerShellスクリプトで生産性を向上させる

PowerShellには初期のコマンドセットが付属していますが、コマンドレットを作成して独自のコマンドを追加できます。 。コマンドレットは、C#言語を使用して作成されたクラスであり、呼び出されると、PowerShell環境内で実行されます。コマンドレットはC#を使用して記述されているため、コマンドレットは.NETFramework全体にアクセスできます。

.NET Frameworkには、Microsoftが提供する膨大なコードライブラリが含まれています。独自のコマンドレットを作成すると、そのすべてのコードにアクセスできます。プロセス情報を取得しますか?暗号化アルゴリズム?データベース接続?ネットワーク通信?これらすべて(およびそれ以上)は.NET Frameworkによって提供されます。つまり、ほとんどの作業は自動的に行われます。適切な関数を呼び出して、それをつなぎ合わせる必要があります。

Microsoftは、PowerShellがなくなることはないことを明確にしています。実際、Windows 10の今後のパッケージマネージャーはPowerShellに基づいているため、誰もが後でではなく早く習得することを検討する必要があります。

PowerShellが素晴らしい理由

PowerShellには多くの高度な機能があり、そのほとんどはWindowsプログラマーとサーバー管理者にのみ関連する可能性がありますが、理解しやすく、しかもすべての人にとって非常に役立つ基本的な機能がいくつかあります。

シンプルだがパワフル。 PowerShell環境は非常に簡単なので、読んでから数時間以内に誰でも手に入れることができます。 学習曲線ですが、比較的浅く、すべてを学ぶ必要はありません。 それを利用するためにそれの。

詳細なプロセス情報。 代替のタスクマネージャーを使用することは1つのことですが、PowerShellを使用すると、プロセス管理に関する限り、いくつかの巧妙なトリックを実行できます。ネイティブのGet-ProcessおよびStop-Processコマンドレットから始めます。

WindowsPowerShellスクリプトで生産性を向上させる

簡単な自動化とスクリプト作成。 基本的なWindowsは、タスクを自動化する簡単な方法を提供しません。 PowerShell以前は、バッチファイルは基本的なスクリプトしか実行できませんでしたが、自動化にはサードパーティのソリューション(Perl、AutoHotkeyなど)が必要でした。ただし、PowerShellを使用すると、特定の時間または間隔で実行するようにタスクをスケジュールできます。

たとえば、ScheduledTasksモジュールを使用すると、トリガーに従って特定のプログラムまたはプロセスを実行させたり(たとえば、特定の時間、システムイベントが発生したときなど)、そのタスクのコンテキストを定義したりできます(セキュリティなど)。制限)。

コマンドのパイピングとロジック。 Bash(Linux)では、あるコマンドの出力を別のコマンドの入力として使用できるように、コマンドをパイプでつなぐことができます。たとえば、基本的なGet-Processコマンドレットは、実行中のすべてのプロセスの情報を出力します。プロセスのサブセットからの情報のみが必要な場合はどうなりますか?プロセスフィルターとして機能するWhere-Objectコマンドレットを使用してパイプ処理し、Where-Objectによって返されたプロセスに対してのみGet-Processを実行できます。

PowerShellには、コマンドレット実行のフローを制御するために使用できる条件付きロジック(If、Else、For、Switchなど)用のネイティブコマンドもいくつか用意されています。たとえば、特定の条件が満たされた場合にのみ特定のコマンドレットを実行するPowerShellスクリプトを作成できます(たとえば、RAMがいっぱいに近いときにプロセスをクリーンアップします)。

リモートジョブとバックグラウンドジョブ。 コマンドレットはバックグラウンドプロセスとして実行できるだけでなく(したがって、複数のタスクを一度に非同期で実行できます)、そのように構成されている限り、多くのコマンドレットをネットワーク上のリモートマシンで実行することもできます。リモート機能を備えたコマンドレットは、多くの場合、上記のコマンドレットを実行するときに指定できるComputerNameパラメータを提供します。

詳細については、PowerShellを使用したリモートコマンドの実行に関するこのTechNetページを確認してください。

サードパーティのスクリプトをダウンロードします。 実際にPowerShellを自分で拡張する必要はありません。いくつかのオンラインリポジトリでは、他の人が作成した公開スクリプトやコマンドレットをダウンロードして利用できます。

PowerShellの学習場所

PowerShellで手を汚す準備はできましたか?できるだけ早く学習したい初心者によく推奨されるリソースをいくつか紹介します。

DonJonesによるPowerShellチュートリアル。 このYouTubeビデオシリーズは、PowerShell 2.0(Windows 7にパッケージ化されているバージョン)に焦点を当てています。これは、現在は少し古くなっていますが、スクリプトの経験がまったくない人に適した入門書です。各ビデオの長さはわずか数分ですが、99本あるため、かなり包括的です。

Microsoftバーチャルアカデミー。 MVAは、PowerShell 3.0の2つを含む、Microsoft関連のコースを無料で提供しています。入門コースと高度なツールとスクリプトコースがあります。どちらのコースにも、それぞれ約1時間の9つのレッスンが含まれています。

WindowsPowerShellスクリプトで生産性を向上させる

TechNetスクリプトセンター。 MicrosoftのWebサイトのTechNetセクションには、PowerShellガイドおよびチュートリアルへの優れたリンクが多数含まれています。ボーナスとして、[リポジトリ]セクションに移動すると、さまざまなPowerShellスクリプトを参照してダウンロードできます。

ねえ、Scripting Guy!ブログ[壊れたURLが削除されました]。 これは「PowerShellのすべて」のブログで、ほぼ10年前にさかのぼる多くの優れた情報が掲載されています。新しい投稿は毎日公開され、簡単に閲覧できるようにタグで分類されています。どこから始めればよいかわからない場合は、GettingStartedタグ[BrokenURLRemoved]を参照することから始めてください。

PowerShellはあなたに適していますか?

どう思いますか? PowerShellはWindowsでの生産性に役立ちますか?それとも、あなたのニーズにはやり過ぎですか? コメントであなたの考えを私たちと共有してください!


  1. Windows 10 および Windows 11 で Visual Studio Code を使用して PowerShell スクリプトを作成する方法

    Windows 10 と Windows 11 で PowerShell スクリプトを作成できることをご存知ですか? Windows に PowerShell をインストールしたので、PC で PowerShell を使用して何ができるか知りたいと思うかもしれません。このガイドでは、Visual Studio Code を使用して簡単なスクリプト ファイルを作成し、そのスクリプト ファイルを Windows 10 の PowerShell で実行する方法について説明しますおよび Windows 11. まず、基本的な PowerShell スクリプトを作成する方法を学ぶ必要があります。それを

  2. Windows 10 タスクバーを使用して生産性を高める 7 つのヒント

    では、Windows 10 のタスクバーについてどう思いますか?もちろん、デスクトップに美的なタッチを加えるために横になっているだけではありませんよね? Windows 10 のタスクバーには、それ以上の機能があります。 Windows での生産性レベルを大幅に向上させることができる隠れた便利な機能が多数搭載されています。 Windows 10 のタスクバーは、最も便利で簡単にアクセスできる場所にあり、何をしていても一貫性を保ちます。これらの Windows 10 タスクバーに関する 7 つの便利なヒントとコツを活用すれば、システムでの作業中にワークフローを改善し、探しているものに簡単にアク