知っておくべき20のWindows PowerShellコマンド
Windows PowerShellは新しいコマンドラインシェルです。 より強力でスクリプト可能 コマンドプロンプトより。私の3年間の使用経験で、特にあなたがに慣れているなら、私はそれが本当に有用であるとわかりました タスクの自動化またはスクリプト化. しかし、私たちのほとんどは、それについて知らないか、古いコマンドラインシェルの代わりにそれを使用することを好みません。.
この記事では、私は共有するつもりです 便利で簡単なコマンド (例では)Windows PowerShellの。これらのコマンドを使用すると、ヘルプの取得からプロセスの開始まで、さまざまなタスクを実行できます。はじめましょう?
注意: Windows PowerShellはで構築されています 下位互換性 念頭に置いて、したがって、コマンドプロンプトの多くのコマンドをサポートしています。それは言った、あなたはその新しい、カラフルなインターフェースで古いコマンドを使い続けることができる.
Get-Help [ヘルプ]
あなたがPowerShellに慣れていない場合は、問題が発生する可能性があります。そのような状況では、Get-Helpがあなたの救世主になります。それは提供します コマンドレット、コマンドに関する必要な情報, PowerShellの機能、スクリプト、およびワークフロー.
さらに、それは簡単です:あなたはタイプする必要があります 助けを得ます
その後にコマンドが続き、その中から、詳細を探します。たとえば、あなたはについての情報を得ることができます “取得プロセス” 使う 取得ヘルプ取得プロセス
.
Get-Command [gcm]
Windows PowerShellでは、Get-Commandを使用してコマンドと機能を見つけることができます。一覧が表示されます 特定の機能のコマンド または検索パラメータに基づく特定の目的のために.
あなただけを入力する必要があります Getコマンド
PowerShellで検索クエリを続けます。例えば, Get-Command * -service *
コマンドを表示 “-サービス” その名の通り。してください クエリの両側にアスタリスクを使用してください。 それは未知のものを探すのに役立つワイルドカードだから.
起動コマンド[icm]
あなたがしたいとき コマンドまたはスクリプトを実行する PowerShellの - 単一または複数のコンピュータ上でローカルまたはリモートで - “呼び出しコマンド” あなたの友だちです。それは使いやすく、あなたがコンピュータをバッチ制御するのを助けます.
あなたが入力する必要があります 呼び出しコマンド
コマンドまたはスクリプトの完全なパスが後に続きます。たとえば、 コマンドを実行する “Get-EventLog” 使う Invoke-Command -ScriptBlock Get-EventLogシステム-Newest 50
またはリモートコンピュータ上 “Server01” 使う 起動コマンド-ScriptBlock Get-EventLogシステム-Newest 50 - コンピュータ名Server01
.
呼び出し式[iex]
呼び出し式 別のコマンドまたは式を実行します. 入力として式または文字列を指定している場合、このコマンドは最初に評価してから実行しますが、前のコマンドとは異なり、ローカルでのみ機能します。.
あなたが入力する必要があります 呼び出し式
その後にコマンドまたは式が続きます。たとえば、変数を代入することができます “$コマンド” コマンドを伝える文字列 “取得プロセス”. 走ったとき Invoke-Expression $コマンド
, “取得プロセス” ローカルコンピュータでコマンドとして実行される.
Invoke-WebRequest [iwr]
あなたはできる ダウンロード、ログイン、情報収集 Invoke-WebRequestを使用してWindows PowerShellで作業しながらWebサイトおよびWebサービスにアクセスする.
あなたはそれを好きに使わなければなりません WebRequestの呼び出し
そのパラメータが続きます。たとえば、次のようにコマンドを使用して、特定のWebページ上のリンクを取得できます。 (Invoke-WebRequest -Uri "https://docs.microsoft.com").Links.Href
.
Set-ExecutionPolicy
スクリプトを作成して実行する(拡張子を持つ) “ps1”)Windows PowerShellでは可能です。ただし、セキュリティ上の制限があります。でも君ならできる セキュリティレベルを切り替える Set-ExecutionPolicyコマンドを使用する.
あなたが入力することができます Set-ExecutionPolicy
4つのセキュリティレベルのうちの1つが続きます - 制限付き、リモート署名、すべて署名、または制限なし コマンドを使用します。たとえば、次のようにして制限付きポリシーステータスを割り当てることができます。 Set-ExecutionPolicy -ExecutionPolicy制限あり
.
商品アイテム[gi]
お探しの方 アイテムに関する情報 ハードディスク上のファイルなど、どの場所でも、Get-ItemはWindows PowerShellでファイルを取得するための最良の方法です。あなたはそれを知っていなければなりません アイテムの内容を取得しません, 明示的に指定しない限り、特定のディレクトリ内のファイルやサブディレクトリなど.
あなたが入力する必要があります 取得アイテム
その後にパスまたは文字列があればそのパラメータが続きます。たとえば、次の文字列で始まるすべての項目(ファイルまたはフォルダ)を取得できます。 “M” 現在のディレクトリで 商品アイテムM *
. ディレクトリの内容とともに、レジストリキーの内容も取得できます。.
コピー項目[コピー]
もしあなたが必要ならば ファイルとディレクトリをコピーする ストレージディスクまたはレジストリエントリとレジストリのキーには、Copy-Itemを使用できます。それはのように機能します “cp” 私たちはコマンドプロンプトで持っているコマンド、それははるかに優れています.
あなたは利用することができます コピー項目
に命令する 同じコマンドで項目をコピーして名前を変更する 同様に - 目的地として新しい名前をつけてください。たとえば、コピーして名前を変更することができます “Services.htm” に “MyServices.txt” 使う コピー項目 "C:\ Services.htm" - 送信先 "C:\ MyData \ MyServices.txt"
.
削除アイテム[del]
ご希望の場合 アイテムを削除する ファイル、フォルダ、関数、レジストリキー、変数など、Remove-Itemはあなたのためのコマンドです。私がおもしろいと思ったのは、それがアイテムを含むか除外するためのパラメータを提供することです.
あなたは利用することができます アイテムの削除
に命令する パラメータを使用して特定の場所からアイテムを削除する. たとえば、ファイルを削除することができます “MyServices.txt” コマンドで 削除項目 "C:\ MyData \ MyServices.txt"
.
コンテンツ取得[cat]
特定の場所にあるテキストファイルの内容を表示する必要がある場合は、Notepad ++などのコード/テキストエディタで開いて読んでください。 Windows PowerShellでは、Get-Contentを使用して次のことができます。 コンテンツを取得する ファイルを開かずに.
たとえば、50行のコンテンツを取得できます。 “Services.htm”, それからあなたは使うことができます Get-Content "C:\ Services.htm" -TotalCount 50
.
セット内容[sc]
Set-Contentを使ってテキストをファイルに保存することができます。 “エコー” Bashシェルのコマンド。 Get-Contentと組み合わせて使用することもできます。 あるファイルの内容を取り出してそれを別のファイルにコピーする このコマンドを使う.
たとえば、 セット内容
に 内容を書くか置き換える 新しい内容のファイルのさらに、前のコマンドの例を使って、その出力をという名前の新しいファイルに保存することもできます。 “Sample.txt” 使う Get-Content "C:\ Services.htm" -TotalCount 50 |セットコンテンツ "Sample.txt"
.
Get変数[gv]
Windows PowerShellで変数を使用したい場合は、Get-Variableコマンドを使用すると便利です。 変数の値を視覚化する. 表形式でそれらを表示し、ワイルドカードを含めたり、除外したり、使用することができます。.
次のように入力してこのコマンドを使用できます。 取得変数
そのオプションとパラメータが続きます。たとえば、以下の名前の変数の値を取得できます。 “desc” 次のコードを使用してください。 取得変数-Name "desc"
.
変数の設定[set]
あなたはできる 変数の値を代入または変更/リセットする Set-Variableコマンドを使用します。ショートカットとして、$ という形式を使って簡単な変数を設定することもできます。 $ VarName = VarValue $のように $ desc = "説明"
.
あなたはコマンドを使用することができます セット変数
その後に変数を設定するためのパラメータが続きます。たとえば、次の名前の変数に値を設定できます。 “desc” コマンドを使用する セット変数-Name "desc" - 値 "A説明"
.
取得プロセス[gps]
通常タスクマネージャを使用して 実行中のプロセスを見つける 私たちのコンピューターで。 Windows PowerShellでは、誰でもGet-Processを使用して現在実行中のプロセスの一覧を取得できます。これをさらに処理することもできます。.
あなたはこのようにコマンドを書くことができます 取得プロセス
検索クエリと一緒に。たとえば、プロセスに関する情報が必要な場合は、 “探検する” 彼らの名前では、あなたが入力することができます Get-Process * explore *
(アスタリスクに注意).
開始プロセス[saps]
Windows PowerShellを使用すると簡単にできます 1つ以上のプロセスを起動する あなたのコンピュータで。このコマンドは、タスクを自動化するために必要な必須コマンドの1つなので、スクリプト作成アプリケーションでは便利です。.
あなたが入力することができます 開始プロセス
コマンドを使用するためのパラメータが続きます。たとえば、次のように入力してメモ帳を起動できます。 開始プロセス-FilePath "メモ帳" -Verb runAs
Windows PowerShellで.
停止プロセス[kill]
あなたはできる 実行中のプロセスの特定またはすべてのインスタンスを停止する Stop-Processコマンドのおかげで、あなたのコンピュータではその名前またはPID(プロセスID)を使っています。魅力的なのは、プロセスが停止しているかどうかを検出できること、そして現在のユーザーが所有または開始していないプロセスを停止することさえできるということです.
あなたはコマンドを入力することができます 停止プロセス
指定したプロセスを停止するためのパラメータが続きます。たとえば、メモ帳のすべてのプロセスを停止するには、次のコマンドを使用します。 Stop-Process -Name "メモ帳"
.
Get-Service [gsv]
必要なときに 特定のサービスに関する情報 コンピュータ上で(実行中または停止中)、Get-Serviceを使用できます。システムにインストールされているサービスが表示され、それらをフィルタリングして包含および除外するオプションが提供されます。.
このコマンドを使いたい場合は、 取得サービス
そのパラメータが続きます。たとえば、次のように入力します。 Get-Service | Where-Object $ _。Status -eq "Running"
サービスを受ける “ランニング” あなたのシステムで.
開始サービス[sasv]
あなたがしたい場合 サービスを開始する コンピューターでは、Start-Serviceコマンドを使用してWindows PowerShellから同じ操作を実行できます。コンピュータでサービスが無効になっていても、サービスを開始するのに十分強力であることがわかりました.
コマンドを使用している間は、サービスの名前を指定する必要があります。 サービス開始
. 例えば, 開始サービス-Name "WSearch"
サービスを開始します “Windowsサーチ” ローカルコンピュータ上.
サービス停止[spsv]
あなたがしたい場合 実行中のサービスを停止する あなたのコンピュータでは、Stop-Serviceコマンドが役に立ちます。サービス名と一緒に指定する必要があります サービス停止
. たとえば、 サービス停止名 "WSearch"
サービスを停止する “Windowsサーチ” あなたのコンピュータ上.
HTMLに変換
PowerShellはあなたのシステムに関する驚くべき情報を提供することができます。ただし、ほとんどの場合、わかりにくい形式で表示されますが、ConvertTo-HTMLを使用して レポートを作成してフォーマットする それを分析したり、誰かに送るために.
あなたが使用することができます HTMLに変換
配管を使用して別のコマンドの出力とともに。例えば Get-Service | ConvertTo-HTML - プロパティ名、ステータス> C:\ Services.htm
ファイルに保存されているWebレポートの形式ですべてのサービスとそのステータスのリストを表示します。 “Services.htm”.
基本的なコマンドはこれですべてです .