知っておくべき 16 の重要な PowerShell コマンド
Windows PowerShell は、に基づく強力なアプリです。ネットフレームワーク。これは、コマンドレットと呼ばれる PowerShell コマンドに依存しています。これらを特定の順序で組み合わせることで、PowerShell ウィンドウからほぼすべての操作を実行できます。そのしくみを説明するために、最も重要な PowerShell コマンドをリストにまとめました。
PowerShell コマンドの使用方法
コマンドレットの使用を開始するには、検索メニューから管理者モードで PowerShell を起動する必要があります。
基本的な PowerShell コマンド
Windows の PowerShell は、アクティブなコマンド ライン インターフェイスであるだけでなく、任意のアプリケーションやプロセスを実行できるスクリプトおよびプログラミング ウィンドウでもあります。数百のコマンドレットがありますが、開始するには、最も重要なものだけを学ぶ必要があります。
1. Clear-Host または Cls
入力中に失敗を犯したか、何かが計画どおりに進んでいませんか? 幸いなことに、PowerShell にはやり直しがあります。便利なclear-host
コマンドは、ディスプレイからテキスト全体をクリアできます。画面の任意の行にコマンドを入力するだけで、すべてが即座に消えます。
コマンド プロンプトでよく使用される、より単純なcls
コマンドを PowerShell で使用することもできます。これら 2 つのクリア テキスト コマンドは、エラー メッセージが表示されたときに便利です。
コマンド プロンプトまたは PowerShell ウィンドウでの入力エラーを回避するには、コマンドをコピーして貼り付けて効率を高めます。
2. HTML への変換
雑然とした PowerShell のスクリーンショットを見るよりも、HTML の長い文字列を使用する方が美的です。また、スクリプト エラーやその他の PowerShell イベントを技術者以外のチーム メンバーと共有する必要がある場合にも役立ちます。
すべての PowerShell コンポーネントが使用します。PowerShell 画面で表示できる NET オブジェクト。ブラウザー ウィンドウ全体に表示するには、Convert-to-HTML
コマンドレットを使用します。以下は、Web 上のすべての PowerShell エイリアスを表示する例です。「Invoke-Item」の前に別の行を使用することを忘れないでください。
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
HTML 変換コマンドを実行するとすぐに、PowerShell は別のアプリケーションを使用して出力ファイルを開くように求めます。ブラウザを使用すると、エイリアスなどのオブジェクトのリストが生成されます。
3. Get コマンド
コマンドには主に、エイリアスと関数の 2 種類があります。PowerShell エイリアスは、関数またはコマンドレットのニックネームとして機能します。Windows はデフォルトでいくつかのエイリアスを保存しており、Get-Command
. 独自のエイリアスを作成することもできます。
PowerShell のもう 1 つのコマンド タイプは関数です。これらは、承認された動詞 (「get」など) と単純な名詞 (「StorageNode」など) を使用します。
「Select-object」関数 (動詞と名詞の組み合わせに注意してください) を、コンピューター名の環境変数として知られているものと共に使用して、ローカル コンピューターの名前を表示します。
$env:computername | Select-Object
関数は、高度な PowerShell コーディングの出発点です。などの関数をStart-process
パラメータや変数とともに使用して、一連のタスクを実行する独自のバッチ スクリプトを作成できます。
4.ヘルプを得る
Get-Help
PowerShellには、すべてのクイック フィックスとヘルプ記事を 1 つのウィンドウに表示する、独自の自己学習型トラブルシューティング コマンドレットがあります。さまざまなモジュールのヘルプについては、出力の最後にコマンドを入力してください。Yヘルプ コンテンツの更新されたバージョンを許可するには、を押す必要がある場合があります。
にはさまざまなヘルプ オプションがありますGet-help
。Get-process
たとえば、の機能とその正確な構文を知りたい場合は、次のように入力します。
Get-Help Get-Process
5.取得プロセス
Get-Process
は、ローカル デバイスまたはリモート コンピューター上のプロセスの完全な一覧を表にする重要な PowerShell コマンドです。
より詳細なプロセス情報については、プロセス ID (PID) やプロセスの名前など、他のパラメーターを指定する必要があります。
検出するプロセスを定義する際に含めることができる多くの特定のパラメーターがあります。
- ファイル サイズを MB 単位で指定してプロセスを一覧表示する
- 優先度に基づいてプロセスを一覧表示する
- プロセスの所有者を見つける
6. サービスを受ける
Windows コンピューターには、多数の実行中のプログラムとプロセスがあります。Get-service
これらはタスク マネージャーで直接表示できますが、後で HTML に変換できる を使用して完全なリストを表示する方が簡単です。
必要なサービスの正確な名前を覚えていませんか? ワイルドカード記号 (*) と、思い出すことができるいくつかの文字を使用できます。
Get-service "xyz*"
、、Get-Service
、および. _-DisplayName
-DependentServices
-InputObject
-RequiredServices
7. インストールモジュールまたはインストールスクリプト
PowerShell は、 Microsoft Teams、McAfee Security、Bing Translator、最新のXbox ゲームなど、Windows ソフトウェアのソフトウェア パッケージをインストールするための最も安全なオプションの 1 つです。すべてのユーザーに対して PowerShell でサポートされているソフトウェアの完全なリストを取得するには、次のように入力します。
Get-AppxPackage -AllUsers
より良い方法は、最新のソフトウェア パッケージのワンストップ リソースであるPowerShell ギャラリーで目的のパッケージを検索することです。見つかったら、Install-module
、Install-Script
、 などのコマンドを入力しますInstall-Package
。以下は、マインスイーパ ゲームのインストールを示しています。
Install-Script -Name Minesweeper
パッケージが PowerShell を介してインストールされるまで、数秒または数分待ちます。後で Windows で使用できるようになります。
もう 1 つの便利なコマンドはFind-package
、コンピューターまたは Web 上のソフトウェア パッケージを検索する です。
8.mkdir、md、rmdir
mkdir
ネイティブの PowerShell コマンドではありません。ただし、new-item
この構文は DOS および Linux で非常に一般的であるため、ディレクトリを作成するために広く使用されているエイリアスです。mkdir
任意の名前で使用すると、空のフォルダーが作成されます。
mkdir "name of your empty folder."
簡単なコマンドを使用して、新しく作成したフォルダーを PowerShell が指すようにしますcd
。
cd "name of the newly created folder."
新しく作成されたフォルダーは常にパスに沿って配置されますC:\Windows\System32
が、 を使用しcd
て別のフォルダーを指すことができます。
上記と同じ目的でmkdir
で代用できます。md
ディレクトリの内容を削除するには、rmdir
(remove directory) コマンドを使用します。
rmdir "name of the folder with empty content."
9. 新品
mkdir
やなどのエイリアスとは異なりmd
、New-item
は PowerShell で新しい項目を作成してその値を設定するために使用される公式のコマンドレットです。ファイルとフォルダーの作成に加えて、それを使用してレジストリ キーとエントリを作成できます。
- コマンドを使用して新しいディレクトリを作成するには
New-item
、次のように入力します。
New-item -Path "Directory path location\"-Name "Name of your choice"-Item Type "directory"
- ディレクトリが作成されるとすぐに、
New-item
そのフォルダ内に新しいファイルを配置できます。
New-item -path "Created directory path location\"-Name "File name.txt"-ItemType "file"-Value "insert any text of your choice."
- 新しく作成されたファイルは、その宛先フォルダーにあります。
10.アイテムの削除
などの拡張子を持つすべてのファイルを削除しますか? TXT、。DOC、。PDF、. WMV、フォルダから?まず、 を使用して正確なフォルダー パスを指定しcd
、次に示すようにコマンドレットを使用しますRemove-Item
。
Remove-Item * -Include *(filetype) - Exclude *(any variable or number)"
上記の方法は、隠しファイルまたは読み取り専用ファイルを特定して削除したり、特殊文字を含むファイルを削除したりするのに非常に役立ちます。
11. Set-ExecutionPolicy
セキュリティ上の理由から、PowerShell には、構成ファイル、スクリプト、およびその他のパラメーターに影響する独自の実行ポリシーがあります。Set-executionPolicy
この安全機能は、既存の項目を上書きする などのフラグとともに コマンドを使用して実行できます-force
。以下の構文に従います。
Set-ExecutionPolicy<br>[-ExecutionPolicy]<br>[[-Scope] ]<br>[-Force]<br>[-WhatIf]<br>[-Confirm]<br>[]
たとえば、Set-ExecutionPolicy
コマンドを使用して Chocolatey ソフトウェアをインストールすると、次のコードのようになります。実行すると、Chocolatey の公式ソフトウェアがダウンロードされ、コンピューターにインストールされます。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. Select-Object と Sort-Object
フォルダーまたはサブフォルダーに多数のファイルと拡張子がある場合は、定義済みのプロパティに基づいて昇順または降順で並べ替えまたは選択することができます。ここでコマンドレットを使用するSort-Object
と、Select-Object
複数のオブジェクトを一度に再配置できます。
並べ替えと選択は、コンピューター上の既存のプロセスだけでなく、さまざまなフォルダー内の任意のファイルにも適用できます。以下は、メガバイト単位のワーキング セット (WS) サイズに基づいて最も重要な 10 個のプロセスを並べ替えて選択する例です。
Get-process | Sort-Object -Property WS | Select-Object - Last "Number of items"
さまざまなファイルの履歴情報、メモ帳ファイル内に含まれるすべてのリスト項目の並べ替え、コンピューター上のさまざまなイベントの並べ替えなど、他のさまざまなパラメーターで並べ替えと選択を使用できます。
13. プロセスの開始と停止
Windows で新しいプロセスを開始する場合でも、既存のプロセスを停止する場合でも、PowerShell コマンドレットを使用してその目標をすばやく達成できます。
プロセスをすばやく終了するには、Stop-Process
コマンドレットを使用します。次の例は、ワードパッドのプロセスを閉じる方法を示しています。
Stop-process -Name "Process or Application name"
同様に、PowerShell ウィンドウから直接新しいアプリケーションを開始するには、Start-process
コマンドレットと-FilePath
フラグを入力します。
Start-Process -FilePath "Application name"
14. サービスの一時停止と再開
実行中のサービスを開始または停止する代わりに、直接中断できます。このSuspend-service
コマンドレットは使いやすく、現在使用していないサービスの RAM と CPU の使用量を減らすのに役立ちます。
Suspend-service -DisplayName "Service full name"
終了したサービスは、簡単なコマンドで後で再開できますResume-service
。システムに悪影響を与えずに中断できるサービスがわからない場合は、次のコマンドを使用します。
Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm
15.テストパス
プログラミングでファイル パスのエラーを回避したい場合は、構文のファイル パスが正確であることを確認する必要があります。ファイル エクスプローラーでいつでも確認できますが、これを確認するより正確な方法は、Test-path
コマンドレットを使用することです。コマンドレットは、特定のパスが存在するかどうかを単に “True” または “False” で返します。
Test-Path -Path "Path name"
コマンドを変更して、特定のファイルの可用性をテストし、レジストリ パスが正確かどうかを確認し、コンピュータに特定のファイル タイプ以外のファイルがあるかどうかを判断できます。
16. 待機プロセス
複数のプロセスが並行して実行されている場合、1 つまたは複数のプロセスが停止するのを待ってから、再度使用できるようにすることができます。コマンドWait-Process
レットは非常に役立ちます。プロセスが停止する前に PowerShell が待機するタイムアウトを指定できます。
Wait-Process -Name "Process name, -Timeout (in seconds)
その他の重要な PowerShell コマンド
上記の PowerShell コマンドとは別に、次のコマンドレットと関数を習得することも役立ちます。
-
Echo
PowerShell コンソールに任意の値を出力するために使用されるコマンドレットです。 -
Get-Host
Windows で PowerShell をホストするプログラムの詳細を提供します。 -
Test-JSON
文字列が有効な JSO オブジェクトかどうかをテストするために使用される高度なコマンドレットです。 -
Trace-command
式またはコマンド全体をトレースして、含まれているパラメータとフラグを見つけます -
Write-output
は、その名前が示すように、最後のコマンドの出力をコンソール ウィンドウに表示します。
よくある質問
「コマンドレットの名前として認識されない PowerShell スクリプト」エラーを解決するにはどうすればよいですか?
PowerShell がコマンドレットの名前を認識しない場合は、Path 変数が正しく設定されていないことが原因である可能性があります。無効なフォルダー パスを修正して、パス変数エラーを修正します。
PowerShell でエラー出力を変数としてキャプチャするにはどうすればよいですか?
PowerShell には、さまざまなコマンドレットを入力したときにすべてのエラー出力をキャプチャするように設計されたエラー変数パラメーターが$ErrorVariable
あります。これらはトラブルシューティングに使用できます。
画像クレジット: DepositPhotos . Sayak Boralによるすべてのスクリーンショット。
- フェイスブック
- つぶやき
コメントを残す