Windowsパワーユーザー必見!覚えておきたいPowerShellコマンド10選
PowerShellを使えば、Windows PCを自由自在にコントロールできます。しかも習得のハードルは決して高くありません。コマンドプロンプトに別れを告げ、Windows PowerShellのコマンドを活用して、繰り返し発生する面倒な管理作業を自動化しましょう。
さらに、PowerShellを学ぶことはLinuxの管理スキル向上にもつながります。bashシェルで行うほとんどのLinux管理タスクと操作感がよく似ているためです。PowerShellは多くのLinuxディストリビューションに搭載されているシェルと共通点が多いのです。
PowerShellとは?
Windows PowerShellは、Microsoftがシステム管理者向けに開発したコマンドラインインターフェース兼スクリプト言語です。とはいえ、管理者やプログラマーでなければ使えないというものではありません。他のプログラミング言語よりもはるかにシンプルで、日常的な英語に近い表記を採用しているため、誰でも理解でき、自分のPCの管理に活用できます。
Windows PowerShellで使われるコマンドは「コマンドレット(cmdlet)」と呼ばれます。コマンドレットを実行すると、PC上で特定のアクション、あるいは一連のアクションが実行されます。その内容は、無線ネットワークへの接続のような単純なものから、反復タスクの自動化のような複雑なものまで多岐にわたります。
PowerShellを起動するには、スタートボタンをクリックし、検索ボックスに「powershell」と入力して、Windows PowerShellを選択します。コマンドラインインターフェースが開いたら、すぐにコマンドの入力を始められます。
この記事では、実用性が高く覚えやすいPowerShellコマンドを10個厳選して紹介します。
1. Get-Help
PowerShell学習の出発点として最適なのがGet-Helpコマンドレットです。PowerShell全体の概要をつかめるだけでなく、特定のコマンドレットについて詳しく知りたいときにも役立ちます。
PowerShellウィンドウを開いてGet-Helpと入力するだけです。包括的な概要が表示され、PowerShellとは何か、その機能や構造を理解できます。また、インターフェースから直接Web上の高度なヘルプファイルにアクセスすることも可能で、必要ならダウンロードして後で参照することもできます。
Get-Helpコマンドの機能はこれだけではありません。次のように入力してみましょう。
Get-Help *
現時点で使用できるすべてのコマンドレットが一覧表示されます。リストは膨大になるでしょうし、すべてを暗記する必要はありません。しかし、ざっと目を通して、どんな可能性があるのか探ってみる価値は十分にあります。
特定のコマンドの基本情報を知りたいときは、次のように入力します。
Get-Help <コマンド名>
括弧は不要です。知りたいコマンドの名前をそのまま入力すれば、基本的な情報が表示されます。さらに詳しい説明が必要な場合は、次のようにします。
Get-Help <コマンド名> -Full
コマンドの使用例を見たい場合はこちらです。
Get-Help <コマンド名> -Example
2. Get-Command
特定のコマンドやコマンド群に関する情報を素早く取得したいなら、Get-Commandコマンドレットが便利です。Get-Commandには多くのオプションがありますが、PowerShellの初級ユーザーであれば、そのすべてを覚える必要はありません。ここでは、利用可能なコマンドを調べるときに特に役立つ基本的な使い方を紹介します。
同じ種類のコマンドレットの一覧を取得したい場合は、次のように入力します。
Get-Command -<CommandType>
例えば、次の少し複雑なコマンドは、利用可能なすべてのコマンドレット型コマンドを表示し、名前に含まれる名詞のアルファベット順に並べ替えるようPCに指示します。
Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
これは、PowerShellに複雑なタスクを実行させる高度なコマンドの好例です。構文さえ理解してしまえば、PC上での作業を最速かつ簡単に片付ける手段として、PowerShellがいかに優れているかがわかるでしょう。
コマンドを名前で検索したい場合は、単純に次のように入力します。
Get-Command -Name <コマンド名>
探しているコマンドの正確な名前はわからないけれど、名前の一部は覚えている、という場合もありますよね。そんなときは次のように入力します。
Get-Command -Name <コマンド名> -UseFuzzyMatching
このコマンドレットは、<コマンド名>フィールドに入力した内容に近いコマンドを検索してくれます。スペルミスが多く、いちいち訂正するのが面倒な人にとっても重宝する機能です。
3. Get-Content
ファイルの中身を確認したいときは、Get-Contentコマンドレットを使います。PCがファイルを見つけられるよう、対象ファイルの正確な場所を指定する必要があります。
上の例では、このために作成したテキストファイルの内容が表示されています。コマンド自体は非常にシンプルですが、その動作を理解していれば、他のコマンドと組み合わせて、Windows PowerShellで非常に強力な処理を実現できます。
4. Get-Process
Get-Processコマンドレットを使うと、PC上で現在実行中のプロセスに関する情報を取得できます。メモリ使用量、CPUサイクル、プロセスIDなどの属性を確認できます。
このコマンドレットにプロセス名を追加すると、特定のプロセスの情報だけを表示できます。例えば、Discordアプリケーションのプロセス情報を見たい場合は、Get-Process Discordと入力するだけです。
構文の「Get」というプレフィックスを置き換えるだけで、PowerShell経由でプロセスの開始や停止も行えます。プロセスを開始するには:
Start-Process <プロセス名またはID>
プロセスを停止するには:
Stop-Process <プロセス名またはID>
5. Get-Service
システム管理者にとって、Get-Serviceコマンドレットは非常に役立つ存在です。このシンプルなコマンドレットは、システム上で現在実行中のすべてのサービスを表示し、それらを制御できるようにします。つまり、PCを動かすために稼働しているすべてのプログラムを一目で確認できるのです。
サービス名を指定すれば、それぞれを制御できます。Restart-Service <サービス名>でフリーズしたサービスを再起動したり、Stop-Service <サービス名>で完全に停止させたり、Start-Serviceで再度開始したりできます。
6. Get-Item
特定のアイテムを探すとき、OSに組み込まれた検索バーを使うよりも、PowerShellの方が速い場合があります。特に、目的のファイルの場所がわかっているときには便利です。次のようにコマンドを使用します。
Get-Item C:
これで「C:」ドライブ内のファイル一覧が表示されます。さらに絞り込んで、ユーザープロファイル配下のすべてのディレクトリを検索したり、「documents」や「downloads」ディレクトリを深く掘り下げたりすることも可能です。その場合は次のように入力します。
Get-Item C:\users\<ユーザー名>\*
システムディレクトリなどのコンテナから子アイテムを取得したい場合は、Get-ChildItemコマンドレットを使います。このコマンドは、コンテナ内のすべてのファイルとディレクトリを表示します。Get-Itemコマンドレットと同様に、コンテナのパスを指定する必要があります。
アイテムを削除するときは、「Get」というプレフィックスを「Remove」に置き換えます。これにより、ファイルやフォルダーからレジストリキーや関数まで、あらゆるものを削除できます。Remove-Item <場所\名前>と入力してください。このコマンドレットを工夫すれば、隠しファイルや「読み取り専用」ファイルだけを削除したり、特定のフォルダーやサブフォルダーからアイテムを削除したりすることもできます。
7. ConvertTo-Html
このコマンドは、.NETオブジェクトをWebブラウザーで表示できるHTMLファイルに変換します。出力系のコマンドレットなので、他のコマンドレットとの相性が抜群です。他のコマンドレットの末尾に追加し、具体的なファイルパスを指定するだけで使えます。
例えば、ローカルコンピューター上の現在の全プロセスの名前・パス・会社名を表示するHTMLファイルを作成したい場合は、次のように入力します。
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File filename.htm
filename.htmの部分は、好きなファイル名に置き換えてください。
作成したファイルを開くには、Invoke-Itemコマンドレットに<ファイル名.htm>を続けて入力します。内容は下の画像のような感じになります。
8. Set-ExecutionPolicy
ローカルのPowerShellスクリプトを実行したい場合は、PowerShell自体の実行ポリシーを変更する必要があります。Windowsコンピューターでは、実行ポリシーは常に「Restricted(制限付き)」に設定されているため、「RemoteSigned」または「Unrestricted」に変更しなければなりません。一方、LinuxやMacなどの非Windows環境では、通常「Unrestricted」に設定されており、変更はできません。
PowerShellの実行ポリシーについて詳しく知りたい場合は、次のように入力します。
help Set-ExecutionPolicy
PowerShellは、お使いのコンピューター上の実行ポリシーに関するヘルプファイルを表示します。ヘルプファイルがない場合はその旨が通知され、オンラインで読めるリンクも提供されます。
ポリシーをRemoteSignedに設定するには、次のように入力します。
Set-ExecutionPolicy RemoteSigned
Unrestrictedに設定するには:
Set-ExecutionPolicy Unrestricted
現在の実行ポリシーの設定を確認するには:
Get-ExecutionPolicy
実行ポリシーはPowerShellのセキュリティ戦略の一部であるため、変更時に確認を求められます。本当に続行してよいと確信できる場合のみ、Yと入力してください。
9. Select-Object
このコマンドは、オブジェクトやオブジェクトのセット、一意のオブジェクト、配列内の特定位置にあるオブジェクトを選択するために使います。選択したいオブジェクトを指定するためのパラメーターは複数あり、プロパティ、数値、特定の入力オブジェクトなどが挙げられます。
プロパティ属性でオブジェクトを選択するには、名前、ID、CPUなどの属性を指定します。属性をグループ化することもできますが、コマンド入力時はカンマで区切る必要があります。Select-Objectコマンドレットの動作を確認するには、次のように入力します。
Get-Process | Select-Object -Property ProcessName, Id, CPU
PowerShellは、以下のように現在のすべてのプロセスとその属性を一覧表示します。
-ExpandPropertyコマンドを使えば、特定の属性に関する詳細情報を取得できます。例えば、ProcessName属性のタイプにおけるModulesプロパティの詳細を知りたい場合は、次のようにします。
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-List
末尾の「Format-List」は、結果を読みやすい形式に整えるためのものです。
10. Export-CSV
PowerShellコマンドの結果が長いリストになることがあります。Get-Commandコマンドレットで見たように、大量の情報を含む長いリストは読みにくく、もっと整理された形で欲しくなるものです。そんなときは、すべてのデータをCSVファイルにエクスポートしましょう。Export-CSV関数を使えば、PowerShell上で直接実行できます。
例えば、Get-Commandコマンドレットは、その時点でPowerShellで使用可能なすべてのコマンドレットの長いリストを出力します。Get-CommandとExport-CSVを組み合わせれば、名前・ソース・バージョンといったカンマ区切りの値を含む詳細なリストを作成でき、Excelなどのアプリで認識できる形式になります。
実行するには、PowerShellのコマンドプロンプトに次のコマンドを入力します。なお、パスは任意に設定でき、ファイル名も自由に変更できます。
Get-Command | Select Name, Source, Version | Export-Csv D:\AllCommands.csv
作成されたリストをExcelで開くと、下の画像のような結果が表示されるはずです。
-
Netflixの「続きを見る」から作品を削除する方法を徹底解説
Netflixとは? Netflixは、世界中で愛用されている定額制動画配信サービスです。インターネットに接続されたデバイスがあれば、テレビ番組、映画、ドキュメンタリーなど幅広いジャンルのコンテンツをいつでも楽しめます。広告なしでコンテンツを無制限に視聴できる点も大きな魅力です。月額料金は発生しますが、提供されるサービスの質を考えれば十分に見合う価格といえるでしょう。契約は月ごとのサブスクリプション形式で、登録・支払いを行った日から開始され、縛りのある契約期間や解約金も一切ありません。 「続きを見る」機能の便利さと悩みどころ Netflixはサービスそのものだけでなく、スマートフォンアプリや
-
2022年版 モバイルパフォーマンステストツール おすすめTOP10
現代において最も価値のある持ち物とは何でしょうか?――それは「スマートフォン」かもしれません。 スマートフォンのユーザー数は増え続けており、コロナ禍(パンデミック)はモバイルデバイスの普及をさらに加速させました。多くのオフライン業務がオンラインへ移行し、それに伴いモバイルアプリケーションの需要も高まり続けています。しかし、アプリを一般公開する前には必ずテストを行う必要があります。本記事では、最適なモバイルパフォーマンステストツールの選び方をご紹介します。 2022年版 モバイルパフォーマンステストツール ベスト10 モバイルアプリケーションのパフォーマンステストツールは、さまざまなデバイス、高