ネットワークについて詳しく知るための 10 のベスト Ping スイープ ツール
Ping スイープはさまざまな方法で活用できます。ベスト 10 の Ping スイープ ツールの方法と紹介について説明しますので、読み続けてください。
Windowsのパワーユーザーであれば、PCでさまざまな操作を実行することで、複数のアプローチが可能であり、特殊なGUIアプリは、コマンドを入力するよりも制限が多い(そして、正直に言うと、満足度が低い)ことがよくあります。手動でコマンドライン。目の前にテキストの壁が広がっているのを見ると、まさにその満足感があり、結果がエラーでなければ、それはさらに価値のあるものになります。
Windows PCでは、これを実現する方法はCMDまたはPowerShellの2つだけです。CMDはPowerShellよりも少し人気がありますが、対応するものを使用すると、CMDを介して実行できる操作を含め、はるかに多くの操作を実行できるため、それほど強力ではありません。PowerShellは、古いCMDの機能と、スクリプトおよびコマンドレットの機能を組み合わせて、PowerShellを使用して実行できる操作に関して多くの可能性を提供していると言えます。
ただし、PowerShellを使用して実行できる操作の数は、経験豊富なユーザーでも、CMD(PowerShellは言うまでもなく)のことを聞いたことがないユーザーは言うまでもなく、非常に恐ろしいものになる可能性があります。ただし、心配する必要はありません。PowerShellを使用して実行でき、長期的には覚えることができる簡単なトリックをいくつか紹介します。この「クラッシュコース」は、PowerShellの包括的なマニュアルとしては機能しませんが、いくつかのポインターを提供し、一連のコマンドを説明することで、PowerShellを回避する方法を見つけるのに役立つことを願っています。準備ができたら、始めましょう。
PowerShellとは何ですか?
上で簡単に説明したように、PowerShellは、さまざまな操作に使用できる強力なツールです。それ以上に、PowerShellは、コマンドラインシェル(CMDなど)、スクリプト言語、構成管理フレームワークなど、その内部にあるいくつかの強力なツールで構成されるタスク自動化ソリューションです。
テキストのみを受け入れて返すことができる他のシェルとは対照的に、PowerShellは、含まれる機能の卓越した量のおかげで、.NETオブジェクトを受け入れて返すこともできます。PowerShellの最も重要なシェル関連機能のいくつかは次のとおりです。
ただし、前述したように、PowerShellは単なるシェルではないため、これは氷山の一角に過ぎません。システム管理操作を自動化するための強力なスクリプト言語として使用できますが、さまざまな環境でソリューションを構築、分析、テスト、および展開する場合にも使用できます。
PowerShellが.NETCLR(.NET共通言語ランタイム)に基づいていることを考えると、PowerShellが動作するすべての入力と出力が.NETオブジェクトである理由を簡単に理解できます。さらに、PowerShellがテキスト出力から情報を抽出できるようにするために、テキスト出力を解析する必要はまったくありません。PowerShellのスクリプト機能には、次のものがあります。
コードを使用してエンタープライズインフラストラクチャを管理および構成することに関心がある場合は、PowerShellがDesired State Configuration(DSC)管理フレームワークを通じてこの可能性も提供していることを知っていただければ幸いです。PowerShellのDSCを使用して簡単に実行できる操作の中で、次のことを思い出してください。
PowerShellには、Perlにいくぶん似ている独自のプログラミング言語が付属する独自のコマンドラインがあります。PowerShellは当初、ユーザーがコンピューター上のオブジェクトを管理できるように開発されましたが、ご存知のとおり、PowerShellは長い道のりを歩み、現在ではより広範囲で複雑なジョブに使用されています。
たとえば、PowerShellの広範な作業環境を利用して、さまざまなシステム管理操作を実行するだけでなく、それらを自動化することもできるため、面倒で反復的なタスクを時々行う必要がありません。また、以下を含むがこれらに限定されない1つのプログラム(PowerShellなど)を介して多数のリソースにアクセスできることを言及することも非常に重要です。
現在、PowerShellの最も一般的な目的の1つは、エンドユーザーがシステム管理タスクを自動化できるようにすることです。これにより、エンドユーザーが一連の退屈で反復的な操作に従事することを回避できます。繰り返しの行動から人的要因を排除することは、効率を高め、さまざまな理由によるヒューマンエラーを減らすことが証明されているので、それは本当に誰にとってもメリットがあります。
PowerShellを使用して、単純またはより複雑なコマンドを発行できますが、このプログラムは、PowerShellによって自動的に実行されるそれらのコマンドに基づいてスクリプトを作成するのにも役立ちます。さらに、コマンドレットと呼ばれる、カスタマイズして後で発行できるコマンドが非常にたくさんあります。
PowerShellはクロスプラットフォームでオープンソースであることに注意してください。つまり、WineやBoot Campなどのトリックや互換性強化ツールに頼ることなく、MacやLinuxなどの他のシステムでもネイティブに使用できます。
基本的なPowerShellコマンドのリスト
PowerShellは少し威圧感を感じるかもしれません。特に、PowerShellはコンピューター上の単なる別のコマンドプロンプトではなく、実際にはCMD機能だけでなく、自動化に使用できる特定のプログラミング言語やさまざまなスクリプトも含まれていることがわかりました。システム管理操作。
ただし、PowerShellとPowerShellが提供するすべての機能をマスターすることに決めている場合は、PowerShellの最も基本的な機能から始めることを強くお勧めします。そうすれば、誤って間違った機能を使用したことに気づき、その間に実行したすべての作業が遠い記憶のように見え始めたときに、数か月の進捗をロールバックする必要がなくなります。
そのため、PowerShellセッション内で安全に使用できる基本的なコマンドのリストを用意して、この強力なプログラムの機能をテストし、どのコマンドが正確に何を実行するかを確認します。以下のリストには、コマンド名、それらのエイリアス、および各コマンドの機能の簡単な説明が含まれています。
コマンド名またはそのエイリアスのいずれかを使用でき、結果はまったく同じになることに注意してください。エイリアスの使用を好む理由は、エイリアスの入力がはるかに高速であり、エイリアスを正しく覚えて対応するコマンド名に関連付けることができれば、作業をすばやく完了したい場合に意味があります。
コマンド名 | エイリアス | 説明 |
---|---|---|
追加コンテンツ | 交流 | コンテンツ(単語やデータなど)をファイルに追加できます |
追加-PSSnapIn | asnp | 現在のセッションに複数のWindowsPowerShellスナップインを追加するのに役立ちます |
クリアコンテンツ | clc | 実際のアイテムを削除せずにアイテムの内容をクリアします |
履歴をクリア | clhy | コマンド履歴からすべてのエントリをクリアします |
クリアホスト | クリア | ホストプログラムの表示をクリアします |
クリアホスト | cls | クリアと同じことをします |
クリアアイテム | cli | 実際のアイテムを削除せずに、アイテムの内容を削除します |
Clear-ItemProperty | clp | プロパティ自体を実際に削除せずに、プロパティの値をワイプします |
クリア変数 | clv | 変数の値を削除します |
比較オブジェクト | 比較 | 2セットのオブジェクトを比較できます |
比較オブジェクト | 差分 | 比較と同じことをします |
接続-PSSession | cnsn | 切断したセッションに再接続できます |
Convert-Path | cvpa | WindowsPowerShellパスをWindowsPowerShell プロバイダーパスに変換できます |
コピーアイテム | コピー | 特定の場所から別の場所にアイテムをコピーするのに役立ちます |
コピーアイテム | cp | コピーと同じことをします |
コピーアイテム | cpi | copyおよびcpと同じことを行います |
Copy-ItemProperty | cpp | 特定の場所から 別の場所に値とプロパティをコピーできます |
無効にする-PSBreakpoint | dbp | 現在のコンソールでブレークポイントを無効にするのに役立ちます |
切断-PSSession | dnsn | 現在のセッションからあなたを切断します |
有効化-PSBreakpoint | ebp | 現在のコンソールでブレークポイントを有効にできます |
Enter-PSSession | etsn | リモートデバイスとのインタラクティブセッションを開始するのに役立ちます |
終了-PSSession | exsn | リモートデバイスとの対話型セッションを終了します |
エクスポート-エイリアス | epal | 現在定義さ れているエイリアスに関する情報を出力ファイルにエクスポートできます |
エクスポート-Csv | epcsv | オブジェクトを複数のコンマ区切り(CSV) 文字列に変換し、その文字列をCSVドキュメントにエクスポートできます |
エクスポート-PSSession | epsn | 別のセッションからコマンドをインポートし、それらを WindowsPowerShellモジュールにエクスポートします |
ForEach-Object | % | 入力オブジェクトのコレクションに含まれる各アイテムに対して特定の操作を実行します |
ForEach-Object | foreach | %と同じことをします |
フォーマット-カスタム | fc | 出力をフォーマットするためにカスタマイズされたビューを使用するのに役立ちます |
フォーマットリスト | fl | 各プロパティ が新しい行に配置されるプロパティリストとして出力をフォーマットできます |
フォーマット-テーブル | フィート | 出力をテーブルとしてフォーマットできます |
フォーマット全体 | fw | 各オブジェクトの1つのプロパティのみが表示される幅の広いテーブルとしてオブジェクトをフォーマットするのに役立ちます |
Get-Alias | ギャル | 現在のセッションのエイリアスを取得します |
Get-ChildItem | dir | ファイルシステムドライブ内のすべてのファイルとフォルダのリストを取得します |
Get-ChildItem | gci | dirと同じことをします |
Get-ChildItem | ls | dirおよびgciと同じことを行います |
Get-Command | gcm | 使用できるすべてのコマンドのリストを取得します |
Get-Content | 猫 | ファイルの内容を表示します |
Get-Content | gc | 猫と同じことをします |
Get-History | ghy | 現在のセッション中に入力したすべてのコマンドのリストを取得します |
Get-History | h | ghyと同じことをします |
Get-History | 歴史 | ghyとhと同じことをします |
Get-Item | ギ | ファイルやフォルダを取得できます |
Get-ItemProperty | gp | 指定したアイテムのプロパティを取得します |
Get-Job | gjb | セッションで現在実行されているすべてのWindowsPowerShellバックグラウンドジョブのリストを取得します |
Get-Location | gl | 現在のロケーションスタックまたは作業ロケーションに関する情報を取得します |
Get-Location | pwd | glと同じことをします |
Get-Member | gm | 指定されたオブジェクトのすべてのプロパティとメソッドを取得します |
Get-Module | gmo | インポートされたモジュールまたは 現在のセッションにインポートできるモジュールのリストを取得します |
Get-Process | GPS | ローカルまたはリモート コンピューターで実行されているすべてのプロセスのリストを取得します |
Get-Process | ps | gpsと同じことをします |
Get-PSBreakpoint | 英ポンド | 現在のセッションで設定されているすべてのブレークポイントを取得します |
Get-PSCallStack | gcs | 現在のコールスタックを表示します |
Get-PSDrive | gdr | 現在のセッションでドライブをフェッチします |
Get-PSSession | gsn | ローカルおよびリモートのWindowsPowerShellセッションのリストを取得します |
Get-PSSnapIn | gsnp | コンピューター上のすべてのWindowsPowerShellスナップインのリストを取得します |
Get-Service | gsv | ローカルまたはリモートコンピューター上のすべてのサービスを一覧表示します |
Get-Unique | gu | 並べ替えられたリストから一意のアイテムを取得します |
Get-Variable | gv | 現在のコンソールのすべての変数のリストを表示します |
Get-WmiObject | gwmi | Windows Management Instrumentation(WMI)クラス インスタンスまたは使用可能なクラスに関する情報を取得します |
グループオブジェクト | グループ | 指定したプロパティに同じ値を含むオブジェクトをグループ化できます |
ヘルプ | 男 | WindowsPowerShellのコマンドと 概念に関する詳細を表示します |
インポートエイリアス | ipal | ファイルからエイリアスのリストをインポートできます |
インポート-Csv | ipcsv | CSVファイルに含まれるすべてのアイテムを使用してテーブルのようなカスタムオブジェクトを作成します |
インポートモジュール | ipmo | モジュールを現在のセッションにインポートする |
インポート-PSSession | ipsn | 別のセッションから現在のセッションにコマンドをインポートします |
呼び出す-コマンド | icm | ローカルおよびリモートのコンピューターでコマンドを実行できます |
呼び出す-表現 | iex | ローカルコンピュータでコマンドや式を実行できます |
呼び出す-履歴 | ihy | セッション履歴からコマンドを実行します |
呼び出す-履歴 | r | ihyと同じことをします |
呼び出す-アイテム | ii | 指定されたアイテムに対してデフォルトのアクションを実行します |
Invoke-RestMethod | irm | HTTPまたはHTTPSリクエストをRESTfulWebサービスに送信します |
Invoke-WebRequest | カール | インターネット上のWebページからコンテンツを取得します |
Invoke-WebRequest | iwr | カールと同じことをします |
Invoke-WMIMethod | iwmi | Windows Management Instrumentation(WMI) メソッドを呼び出すことができます |
メジャーオブジェクト | 測定 | オブジェクトの数値プロパティ 、および文字列オブジェクトの単語、行、文字を決定します |
mkdir | md | 新しいアイテム(ディレクトリ)を作成します |
移動アイテム | mi | アイテムを特定の場所から別の場所に移動できます |
移動アイテム | 動く | miと同じことをします |
移動アイテム | mv | miと同じことをして移動します |
Move-ItemProperty | mp | プロパティを特定の場所から別の場所に移動できます |
新規エイリアス | nal | 新しいエイリアスを作成できます |
新商品 | ni | 新しいアイテムを作成できます |
新規モジュール | nmo | メモリにのみ存在する新しい動的モジュールを生成します |
New-PSDrive | マウント | 一時的および永続的なマップされたネットワークドライブを作成できます |
New-PSDrive | ndr | マウントと同じことをします |
New-PSSession | nsn | ローカルまたはリモートコンピューターへの永続的な接続を確立します |
New-PSSessionConfigurationFile | npssc | セッション構成ファイルを作成します |
New-Variable | nv | 新しい変数を作成できます |
Out-GridView | ogv | 別のウィンドウでインタラクティブテーブルに出力を送信できます |
アウトホスト | ああ | 出力をコマンドライン(CMD)に送信します |
アウトプリンター | lp | 出力をプリンターに送信できます |
ポップロケーション | popd | Modifies your current location to the location that was pushed to the stack most recently. You can use the Push-Locationcmdlet (pushd) to pop the location either its default stack or from a stack that you create. |
powershell_ise.exe | ise | Displays an explanation on how you can use the PowerShell_ISE.exe command-line tool |
Push-Location | pushd | Appends the current location to the top of a location stack |
Receive-Job | rcjb | Fetches the results of current session Windows PowerShell background jobs |
Receive-PSSession | rcsn | Retrieves results of commands from disconnected sessions |
Remove-Item | del | Removes files and folders |
Remove-Item | erase | Does the same thing as del |
Remove-Item | rd | Does the same thing as del and erase |
Remove-Item | ri | Does the same thing as del, erase and rd |
Remove-Item | rm | Does the same thing as del, erase, rd, and ri |
Remove-Item | rmdir | Deletes folders |
Remove-ItemProperty | rp | Allows you to delete a property and its value from a given item |
Remove-Job | rjb | Lets you delete a Windows PowerShell background job |
Remove-Module | rmo | Helps you remove modules from your current session |
Remove-PSBreakpoint | rbp | Lets you remove breakpoints from the current console |
Remove-PSDrive | rdr | Removes temporary Windows PowerShell drives, as well as disconnects mapped network drives |
Remove-PSSession | rsn | Lets you close one or more Windows PowerShell sessions (PSSessions) |
Remove-PSSnapin | rsnp | Enables you to remove Windows PowerShell snap-ins from your current session |
Remove-Variable | rv | Clears a variable and its value |
Remove-WMIObject | rwmi | Lets you delete an instance of an existing Windows Management Instrumentation (WMI) class |
Rename-Item | ren | Helps you rename an item in a Windows PowerShell provider namespace |
Rename-Item | rni | Does the same thing as ren |
Rename-ItemProperty | rnp | Enables you to rename an item’s property |
Resolve-Path | rvpa | Resolves wildcard characters in a path, as well as displays the contents of the path |
Resume-Job | rujb | Helps you restart a job that was suspended |
Select-Object | select | Lets you select objects as well as their properties |
Set-Alias | sal | Lets you create or change a cmdlet’s or command element’s alias (alternate name) in the current Windows PowerShell session |
Set-Content | sc | Allows you to replace a file’s contents with contents that you specify. |
Set-Item | si | Changes an item’s value to a value that’s specified in the command |
Set-Location | cd | Lets you set your current working location to a specified location (changes the active location) |
Set-Location | chdir | Does the same thing as cd |
Set-PSBreakpoint | sbp | Lets you set a breakpoint on a command, variable, or line |
Set-Variable | set | Enables you to set a variable’s value or generates a variable if one with the requested name does not exist |
Show-Command | shcm | Displays a list of Windows PowerShell commands in a graphical command window |
Start-Job | sajb | WindowsPowerShellでバックグラウンドジョブを開始します |
開始プロセス | 樹液 | 1つ以上のローカルプロセスを起動します |
スタートサービス | sasv | 1つ以上の停止したサービスを開始できます |
停止プロセス | 殺す | 1つ以上の実行中のプロセスを停止するのに役立ちます |
Where-Object | ? | プロパティ値に基づいてコレクションから特定のオブジェクトを選択できます |
書き込み-出力 | エコー | パイプライン内の次のコマンドにオブジェクトを送信できます。それは場合は パイプラインの最後のコマンドに達すると、コマンドが表示されます コンソールでオブジェクトを |
膨大な量の基本的なPowerShellコマンドに脅迫されないようにして ください。それらを基本と呼んでいますが、覚える必要はまったくありません。実際、これが上記の表を作成した正確な理由です。これにより、上記のすべてのコマンドを覚えておく必要がなく、作業を続行できます。
簡単な復習として使用したり、ブラウザの検索機能を使用して、特定のコマンド、そのエイリアス、および混乱した場合の機能を見つけることもできます。この情報は上記の表にすでに含まれていますが、PowerShellでの作業中に混乱した場合は、 helpコマンドを使用すると、このプログラムとそのコマンドをより効率的に使用する方法に関するいくつかの役立つ詳細が表示されます。
特定のコマンドの詳細が必要な場合は、helpコマンドを別のコマンドまたはエイリアスとペアにすることもでき ます。たとえば、help Add-Computerと入力すると、PowerShellは次のように表示します 。
ただし、上記の表にある他のコマンドまたはそのエイリアスのヘルプを使用できます 。同じコマンドに複数のエイリアスを含めることができることを理解してください。つまり、さまざまなエイリアスを使用して同じ結果を得ることができます。これは紛らわしいように聞こえるかもしれませんが、1つのコマンドエイリアスを思い出せない場合に備えて、実際には十分な柔軟性がありますが、同じ目標を達成するのに役立つ別のエイリアスを覚えています。
PowerShellの使用
当然、最初に実行したいのは、PowerShellを見つけて起動することです。PCのほぼどこからでもPowerShellを起動する確実な方法の1つは、キーボードのShiftボタンを押したまま、画面上の空の場所(メニュー、アイコン、ボタン、または同様のオブジェクトではない)を右クリックすることです。コンテキストメニューから[PowerShellウィンドウを開く]を選択します。
PCのどこからでもPowerShellコンソールにすばやくアクセスできることに加えて、そうすることで、PowerShellのデフォルトの作業ディレクトリが現在の場所に自動的に切り替わります。Windows 10 PCを使用している場合は、キーボードのWinキーを押し、[スタート]メニューにPowerShellと入力し、結果のリストに表示されたらPowerShellを選択してPowerShellを起動することもできます。
古いバージョンのWindowsでは、PowerShell実行可能ファイルを手動で見つける必要があります。PowerShell実行可能ファイルは、[スタート]メニューの[アクセサリ]または[システム]フォルダーにあります。さらに、古いシステム(Windows 7など)がデフォルトでPowerShellを提供していないことを確認すると、すべての依存関係とともに、PowerShellをコンピューターにインストールする必要があります。
[スタート]メニューからPowerShellを起動すると、アクティブな作業ディレクトリがに設定されることに注意 してくださいC:\Users\[your username here]
。比較すると、上記で示したShift +右クリックの方法を使用すると、PowerShellのアクティブディレクトリが、コンソールを生成したときに現在表示されているディレクトリに設定されます。たとえば、Shiftキーを押しながら右クリックしてデスクトップからPowerShellを開くと、ActiveDirectoryがになりますC:\Users\[your username here]\Desktop
。明らかな理由により、[your username here]
ユーザー名によってパーツが異なります。
PowerShellを家庭で使用するために問題なく維持することはできますが、PowerShellが提供するすべてのものを利用できるとよいでしょう。ちなみに、これらの機能により、PowerShellは、短時間で多数の操作を実行する必要があり、多くの場合、膨大な数のデバイスで実行する必要がある企業での使用に最適です。
したがって、すべてのマシンで各コマンドを手動で実行する代わりに、PowerShellで自動化スクリプトを作成し、必要な情報を自動的に受け取ることができます。デバイスを物理的に操作したり、デバイスの近くに置いたりする必要はありません。CMDと同様に、PowerShellはコマンドラインから使用できます。ただし、より基本的な対応物(つまり、CMD)とは異なり、PowerShellではスクリプトとコマンドレットを呼び出すこともできます。これにより、PowerShellはより強力になりますが、使用がより複雑になります。
コマンドレットの使用方法
ガイドではコマンドレットという用語を 何度も使用しているので、それらが何を意味するのか疑問に思われるかもしれません。さて、最初から始めるために、CMDはコマンドで動作することを思い出しておく価値があります。コマンドレットと発音されるコマンドレットもコマンドですが、従来のCMDコマンドとは異なり、コマンドレットはPowerShellに固有であり、ファイルのコピー、アイテムのある場所から別の場所への移動、Activeディレクトリ、またはアイテムの内容を参照してください。
簡単に言うと、コマンドレットは、PowerShellのコマンドラインに直接入力できる単一機能のコマンドです。CMDの使用経験がある場合は、PowerShellを操作するのがやや直感的であることがわかります。PowerShellの興味深い点の1つは、CMDと多くのコマンドを共有していることです。したがって、PowerShellでCDを使用すると、Active Directoryが変更され、DIRは現在のフォルダーの内容を表示し、CPではアイテムをある場所から別の場所にコピーできます。
他の多くのシェルとは異なり、PowerShellでは大文字と小文字が区別されないため、コマンドを入力するときに正しい大文字と小文字を区別しないとエラーが返されます。したがって、copy-item はCopy-Itemと同じように機能し、どちらも覚えていない場合は、Copy、CP、および CPI(ただし、copy、COPY、cp、またはcpi)も使用できます 。
ほとんどのPowerShellコマンドレットはC#で記述されており、結果として.NETオブジェクトを返す操作を実行するために特別に構築されています。現時点では、PowerShellで使用できる数百を超えるコマンドレットを見つけることができます。これは、公平を期すために、操作の実行に関しては、ほんの少しの余裕以上のものを提供します。
使用する必要のあるすべてのコマンドレットを覚えるのは困難ですが(上の表を使用できることを忘れないでください)、より頻繁に使用するコマンドレットがいくつかあり、非常に覚えやすくなります。そのうちのいくつかは、自分の名前が実際にその目的を離れて与えることを直感的に十分であるという事実を言及しないように(例えば コピーは アイテムをコピーするために使用され、 動きは 、ファイルを移動するために使用することができます 比較あなたは、などのオブジェクトのセットを比較できます)。
ただし、この記事をブックマークして後で使用する気がない場合は 、PowerShellでGet-Commandコマンドレットを入力するか、 gcmを入力して、時間を短くすることもできます。そうすることで、使用可能なコマンドの完全なリストが表示され、そのリストを使用して、実行しようとしていることを事前に計画することができます。
カスタムコマンドレットのロックを解除する
欠点として、Microsoftは、PowerShellでデフォルトで使用できるコマンドレットの配列全体へのフルアクセスを提供するだけではないため、この機能のロックを解除して使用するには、追加のフープをジャンプする必要があります。余暇。良いニュースは、ロック解除プロセスに時間がかからないことです。それから、PowerShellを介してロック解除プロセスを実行することもできるという事実があり、これはあなたにとって素晴らしい練習になります。さらに面倒なことをせずに、PowerShellでカスタムコマンドレット権限のロックを解除する方法を見てみましょう。
Set-ExecutionPolicy
RemoteSigned
PowerShellコマンドプロンプトで、Enterキーを押しますRestricted
られたら、手順7で行ったように、選択内容を入力して確認します。プロセス全体を合理化し、PowerShellのコマンドプロンプトにすべてを入力する時間を無駄にしたくない場合は、同じ結果を達成するためのさらに簡単な方法があることを知って喜ぶでしょう。手順1で行ったように、管理者権限でPowerShellを起動します。各コマンドを入力してプロンプトを待つ代わりに、次のように入力して確認まですべてをパイプライン処理します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
当然、Yと入力してキーボードのEnterキーを押すことで選択を確認する必要がありますが 、手順をスキップして一連の操作を同時に実行しただけです。これが、PowerShellの上級ユーザーが自動化スクリプトを作成してさまざまな管理操作を自動的に実行する理由です。時間と手間を節約するためです。あなたがしたい場合は、お使いのシステム上無効にカスタムコマンドレットに上記と同じコマンドを使用できますが、交換する必要がありますRemoteSigned
とRestricted
しても、最後にあなたの選択を確定します。
また、Windows PowerShellで安全でない可能性のあるスクリプトを実行する場合はAllSigned
、およびUnrestricted
を使用してさらに多くの特権を付与することもできます。AllSigned 一方のオプションは、あなたが信頼できる発行元によって作成されたすべてのスクリプトを実行できるようになる 無制限オプションは関係なく、そのprovenienceと信頼性の、任意のスクリプトを実行するためのPowerShellを可能にします。当然のことながら、 無制限オプションも最も危険です。そのため、特にPCの初心者の場合は、可能な限り回避するようにしてください。
見る?PowerShellは、ほんの数分前よりもはるかにアクセスしやすいように見え始めています。
PowerShellでスクリプトを作成して使用する方法
前に述べたように、覚えていると確信していますが、PowerShellを使用して自動化スクリプトを実行できます。ただし、PowerShellに「ねえ、このスクリプトを作成してください」と叫ぶことはできません。魔法のように機能することを期待しているので、肘のグリースを入れて自分で行う必要があります。しかし、これは今のところ不便に聞こえるかもしれませんが、私たちを信頼してください。あなたがもうする必要のないすべての作業を考えると、長期的には感謝するでしょう。
私たちのほとんどは、特定のプログラミング言語でスクリプトやプログラムを作成するためにIDEなどの特殊なソフトウェアに依存していますが、ファイルを適切な拡張子に保存できる限り、任意のテキストエディタを使用できます。それができない場合でも、作成したファイルに移動し、名前を変更して拡張子を手動で変更することができますが、羊に戻りましょう。
PowerShellで機能するスクリプトの作成に興味がある場合は、おそらく多くのことを聞いたことがあるこのスクリプトが、PowerShell、PS1と互換性を持たせる拡張機能を備えた単なるテキストドキュメントであることを知ってワクワクします。 。したがって、適切な(PS1)拡張子を付けて保存する限り、これらのスクリプトの作成を事実上すべてのテキストエディタ内から実際に処理できる理由を簡単に理解できます。
Write-host "Please enter your name:"
$Name = read-host
"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"
次に、実際の作成部分について説明します。
script.ps1
ファイル名として入力 しますC:\Scripts\script.ps1
.\script.ps1
スクリプトを実行できず、PowerShellがエラーを返す場合は、PowerShellがシステムでカスタムスクリプトを実行できるようになっていること、およびPowerShellを管理者として実行していることを確認してください。手順で指定したことのいずれかまたは両方を実行しないと、エラーが発生する可能性が高く、スクリプトを実行できなくなります。
これは、古典的な「Hello、world!」にいくぶん似ている単なる基本的なスクリプトであることを忘れないでください。1。それはあなたと対話すること(すなわちあなたの名前が何であるかを尋ねる)とあなたがそれと対話することを可能にすること(すなわちあなたのためにメッセージを印刷するために使用されるあなたの名前を入力すること)によってそれにスピンをかけます。ただし、PowerShellは、一連のマシンからデータを収集することから、複雑なデータ管理、高度なシステム構成操作、さらにはSQLデータベースのバックアップを一瞬で作成することまで、はるかに複雑なスクリプトを実行できます。
PowerShellを使用してSQLデータベースをバックアップするにはどうすればよいですか?
ご質問いただきありがとうございます。ガイドで何度も言及したように、PowerShellが実行に役立つ操作に関しては、ほぼ無限の可能性があります。最も人気のあるものの1つは、多大な労力を費やしたり、並外れたデータベース管理機能を備えたりすることなく、SQLデータベースをバックアップすることです。PowerShellの昇格されたインスタンス(管理者権限を使用)を起動し、Backup-SqlDatabaseコマンドを使用するだけです。ただし、それよりも少し複雑ですが、いくつか説明します。
SQLデータベースのバックアップは、PCから安全な場所にファイルをコピーするほど簡単ではなく、データの復元操作を実行するために必要な場合はいつでも安全に保管できることを望んでいますが、PowerShellを使用すると見栄えが良くなります。公園を散歩するようなものです。これを実現する方法はいくつかありますが、前述のコマンドを使用するのが、SQLデータベースをバックアップするための最も速くて簡単な方法です。
Backup-SqlDatabaseコマンドの機能の中で、データベースの完全バックアップ、データベースファイルのバックアップ、およびトランザクションログのバックアップを見つけることができるため、単一のコマンドラインツール内で完全なパッケージを取得できます。デフォルトでは、このコマンドを使用するとデータベースの完全バックアップが実行されるため、BackupFileパラメーターを使用して、特定のルールセットに従うかどうかを指定する必要があります。
PowerShellの一部のバージョンはデフォルトでこのコマンドを備えていないため、インポートするかインストールする必要があることに注意してください。幸いなことに、SQLモジュールのインストールは厳密にはロケット科学ではなく、初心者でも実行できます。PowerShellセッションでBackup-SqlDatabaseコマンドを使用できない場合は、次のことを行う必要があります。
install-module sqlserver
import-module sqlserver
1.SQLデータベースの完全なバックアップ
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"
上で例示したコマンドは、TipsWebTech360というデータベースの完全なデータベースバックアップを生成し、それを「Computer \ Instance」サーバーインスタンスのデフォルトのバックアップ場所に「Tips.WebTech360.bak」として保存します。
2.ロケーションベースのデータベースバックアップを実行します
Set-Location "SQLSERVER:\SQL\Computer\Instance"
PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"
上記の最初のコマンドは、バックアップが行われるサーバーインスタンス内のアクティブディレクトリに場所を変更します。基本的に、この手法は上記で例示した完全なデータベースバックアップとほぼ同じように機能しますが、この例では、バックアップが発生するサーバーインスタンスを見つけるために作業ディレクトリを変更します。
この操作では、Tips.WebTech360というデータベースの完全バックアップも作成され、接続しているサーバーインスタンスのデフォルトの場所にある「Tips.WebTech360.bak」ファイルとしてエクスポートされます。
3.トランザクションログのバックアップを実行します
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log
特定のデータベースのトランザクションログのみをバックアップする必要がある場合、PowerShellは、コマンドラインインターフェイスに直接入力できる単一のコマンドを使用してバックアップすることもできます。上記のコマンドは、「Tips.WebTech360」データベースのトランザクションログのバックアップコピーを生成し、「Tips.WebTech360.trn」という名前のファイルとして「Computer \ Instance」サーバーインスタンスのデフォルトの場所にエクスポートします。
4.暗号化されたSQLデータベースのバックアップを作成します
$EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption
データベースのバックアップが悪用される可能性があることが心配な場合は、PowerShellを使用して暗号化済みのバックアップファイルを作成することもできます。当然、暗号化アルゴリズム、暗号化タイプ(証明書など)、サーバーインスタンス、データベース名、バックアップファイル、出力を圧縮するかどうかなど、いくつかのパラメーターを指定する必要があります。
上記の例では、特定の「Tips.WebTech360」データベースのバックアップを作成し、AES-256暗号化とサーバー証明書で暗号化して圧縮し、結果の「Tips.WebTech360.bak」ファイルをサーバーインスタンスのデフォルトのバックアップ場所に保存します。これは、移行を計画していて、バックアップファイルのいずれか1つを遠ざけるリスクを冒さずに、すべてのバックアップファイルを確実に転送する方法がない場合に非常に重要です。
5.サーバーインスタンス内のすべてのデータベースでバックアップを実行します
Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase
便利なもう1つのツールは、サーバーインスタンス上のすべてのデータベースを同時にバックアップするPowerShellの機能です。それらの数に関係なく、PowerShellを起動し、上記のコマンドの適応を入力して、バックアッププロセスが終了するのを待ちます。これによりサーバーインスタンス内のすべてのデータベースがバックアップされるため、しばらく待つ必要がある場合がありますので、しばらくお待ちください。
上記のコマンドは、「Computer \ Instance」サーバーインスタンスにあるすべてのデータベースをバックアップし、結果のファイルを同じサーバーインスタンスのデフォルトのバックアップ場所にエクスポートします。バックアップファイルの名前は、それぞれの対応するデータベースとそれに続くBAK拡張子(つまり、.bak)に従って自動的に生成されます。
PowerShellを使用してさまざまな方法でSQLバックアップを実行する方法は他にもいくつかありますが、より重要だと思われる方法をいくつか紹介しました。上記の例で使用したコマンドは、現在の形式では環境で機能しない可能性が高いため、現在の状況に適応させる必要があることに注意してください。
たとえば、「Computer \ Instance」パラメータを自分のサーバーインスタンスに一致するように変更し、自分のデータベースの名前を自分のデータベースの名前を反映するように変更する必要があります。実行しようとしているコマンドが混乱したり、正常に機能しないと感じた場合は、PowerShellのヘルプコマンドをいつでも使用できることを忘れ ないでください。
PowerShellコマンドを知っておく必要があります
1.Get-Help
これを十分に強調することはできませんが、 Get-Help コマンドは、正しいコマンドを使用しているかどうかが正確にわからない多くの厄介な状況から真剣に抜け出すことができるため、初めて学ぶ必要があります。または、デプロイしようとしているコマンドで達成できることを正確に示します。
システムにsqlserverモジュールをインストールしたので、今すぐGet-Helpコマンドを試して、Backup-SqlDatabaseがどのように機能するかを確認できます。入力するだけで バックアップSqlDatabase -ヘルプ入手のPowerShellのコマンドラインでの、あなたPowerShellのSQLデータベースのバックアップのスキルをブラッシュアップ。
システムにsqlserverモジュールを最近インストールしたばかりの場合は、ヘルプデータベースがまだ古くなっている可能性があり、新しいスクリプトに追いつくことができるように、データベースの更新を実行する必要がある場合があります。既定では、PowerShellは、アクセスしようとしているコンテンツがオンラインで利用可能であることを検出しますが、ローカルでアクセスすることはできず、データベースの更新を提案することもできます。この場合、プロンプトが表示されたらYと入力し、キーボードのEnterキーを押すだけです。
ただし、PowerShellが、目的のコマンドに使用できるヘルプマニュアルがないことを示すエラーを表示するだけの場合は、Update-Helpと入力し、キーボードのEnterキーを押すことで、手動で更新できます。更新プロセスが終了すると、関心のあるコマンドの利用可能なヘルプドキュメントを確認できるようになります。
2.Get-Process
現在作業しているシステムについて詳しく知りたい場合は、Get-Processが最も重要です。具体的には、このコマンドを見るだけですでに何をしているのか推測できるかもしれませんが、Get-Processは、作業中のシステムで現在実行されているすべてのプロセスのリストを提供します。
デフォルトでは、Get-Processは、作業中の現在のシステムで実行されているすべてのプロセスのリストを取得するため、より具体的な情報が必要で結果のリストを絞り込む場合は、このコマンドにいくつかの追加パラメーターを追加する必要があります。以下のスクリーンショットで、Get-Processコマンドを単独で実行したときに得られるものと、より具体的で結果をフォーマットした場合の外観を確認してください。
Get-Process
Get-Process explorer | Format-List *
2番目のコマンドは、システム上のアクティブなプロセスに関する追加の詳細を表示するようにカスタマイズできます。エクスプローラーを svchost、 Chrome、または関心のあるシステム上の他のアクティブなプロセスに置き換えることができ ます。前述のように、Get-Processesを単独で使用すると、それを支援できます(つまり、実行中のすべてのプロセスのリストを見つけることができます)。 )。
3.停止プロセス
このコマンドは、システムで現在実行されているプロセスを停止するのに役立つことをすでに理解しているかもしれないので、ほとんど自明です。Windowsタスクマネージャーを使用せずにPowerShellからこれを行う最も一般的な理由は、プロセスがフリーズしてGUIアプリがほとんど使用できなくなる場合があるためです。
PowerShellユーザーは、前に説明したGet-Processコマンドを使用して問題のあるプロセスを簡単に特定し、Stop-Processを使用して プロセスを終了して、システムの目詰まりを解消できます。ランニング ストッププロセスをあなたのPowerShellコマンドラインインターフェイスに(任意の追加パラメータなし)それ自体では、入力に使用すると、終了しようとしているプロセスのIDを入力を求めます。
ただし、次の例のように、コマンドレットに-Nameパラメーターを追加することで、プロセスをその名前で終了することもできます(知っている場合)。
Stop-Process -Name "explorer"
上記のコマンドは、Explorerプロセスを終了します。これは、特にフリーズまたはクラッシュして適切な読み込みを拒否した場合に役立ちます。終了しようとしているプロセスの名前を指定するときは、引用符を使用する必要があることに注意してください。プロセスが頑固で終了を拒否する場合(通常、より高いクリアランスのプロセスがそれを行います)、コマンドに-Forceパラメーターを追加することでプロセスを「納得」させることができます。たとえば、Explorerプロセスを終了できないとします。この場合、以下のコマンドを入力するだけです。
Stop-Process -Force -Name "explorer"
さらに、Stop-Processコマンドで-Forceパラメーターを使用しても、このオプションなしでコマンドを実行するのとは対照的に、確認を求められないことに注意してください。このコマンドレットについて詳しく知りたい場合は、必ずGet-Helpコマンドを使用してください。
4.Get-Service
このコマンドは、正当な理由で重要なコマンドリストの1つです。実行されているかどうかに関係なく、作業中のシステムに現在インストールされているすべてのサービスのリストを提供できます。他の多くのコマンドレットと同様に、Get-Serviceをカスタマイズして、特定のサービスに関する、またはマシンで実行中(または停止中)のすべてのサービスのリストを表示するなど、より具体的な情報を提供できます。
先に進み、PowerShellコマンドラインでGet-Serviceと入力でき ます。そうすることで、コンピュータで利用可能なすべてのサービスのリストと、それらの表示名およびステータスが提供されます。元のコマンドレットに追加のコマンドを追加すると、出力を変更して、関心のある結果のみを表示することができます。
Get-Service "W*"
たとえば、上記のコマンドを入力すると、文字「W」で始まる、コンピューターで使用可能なすべてのサービスのリストが返されます。ただし、結果のリストをさらに絞り込むために、さらに進んでコマンドをカスタマイズすることができます。
Get-Service | Where-Object {$_.Status -eq “Running”}
上記のコマンドを使用すると、コマンドレットの実行時に実行されている、コンピューターで使用可能なすべてのサービスのリストが表示されます。追加「W *」を 、我々は文字「W」で始まるコンピュータ上のすべての実行中のサービスのリストが表示されます、前の例で行ったように、コマンドは次のようになります。
Get-Service "W*" | Where-Object {$_.Status -eq "Running"}
5. Get-EventLog
すべての責任あるシステム管理者は、イベントログの操作方法を知っておく必要があります。これらのドキュメントは、システムで何が起こったのか、いつ発生したのか、場合によってはその特定のイベントをトリガーしたのかについての有用な知識を提供します。
したがって、PowerShellのGet-EventLogコマンドは、特にシステム管理スキルを磨くことを計画している場合は、ツールベルトから欠落させたいものではないと安全に想定できます 。イベントログとその名前について知っておくべきことがすべてわかっている場合は、先に進んで、PowerShellのコマンドラインに直接Get-EventLogと入力できます。PowerShellは、表示しようとしているログの名前を入力するように求めるプロンプトを表示することに注意してください。
空のイベントログ(エントリのないもの)の名前を入力すると、PowerShellはエラーを表示し、コマンドラインインターフェイスに戻ります。したがって、以下のコマンドを使用した方が簡単です。このコマンドを使用すると、システム上のイベントログのリストと、デフォルトのオーバーフローアクションやエントリ数など、各ログに関する追加の詳細が表示されます。
Get-EventLog -List
イベントログの最も一般的な使用例の1つは、エラーのチェックです。特に、エラーがサイレントに発生した場合、すぐにシステムクラッシュが発生した場合、またはBSODが発生した場合は、エラーが発生する可能性があります。ただし、結果のリストを絞り込む場合は、Get-EventLogコマンドレットをより具体的にする必要があります。これは、多くの場合、膨大になる可能性があります。
Get-EventLog -LogName Security -EntryType Error
PowerShellのコマンドラインインターフェイスで上記のコマンドを入力すると、セキュリティイベントログに登録されているすべてのエラーのリストが表示されます。-Listパラメーターを使用して、システム内のすべてのログタイプを表示し、Security
エントリが0を超える限り、上記のコマンドでリストにある他のログタイプに置き換えることができます。
PowerShellでのGet-EventLog コマンドの使用について詳しく知りたい場合 は、このサブチャプターの最初のセクションで説明したGet-Helpコマンドを自由に使用して ください。
6. ConvertTo-HTML
PowerShellを使用しているときに、抽出して将来の参照用に保持したり、レポートを作成したり、別のアプリケーションからインポートしたりする特定の情報に遭遇することがあります。このデータをPowerShellから抽出し、コンピューター上の外部ファイルにエクスポートするために最も頻繁に使用される方法の1つは、ConvertTo-HTML コマンドです。
このコマンドを使用すると、カスタムスタイルと色分けされたデータを追加して後でカスタマイズできるHTMLテーブルを提供することにより、抽出された情報と洞察をより効果的に分析するのに役立つ包括的なレポートを作成できます。他の多くのPowerShellコマンドと同様に、ConvertTo-HTMLはそれ自体では機能しないため、入力(またはデータのソース)として使用する追加のコマンドとペアにする必要があります。
たとえば、文字「W」で始まり、現在コンピュータで実行されているすべてのサービスで構成されるレポートを印刷しようとしている場合は、次のコマンドを入力できます。
Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML
これにより、ConvertTo-HTML関数にフィードしたデータのHTMLコードが提供されます。これは、PowerShellのコマンドラインインターフェイスから直接コピーし、お気に入りのテキストエディターに貼り付けて、HTMLファイルとして保存するだけです。を使用して、任意のWebブラウザーで結果を表示できます。
あなたは使用することができますをConvertTo-HTMLを限り、コマンドとして使用すると、出力を生成するデータ・ソースとして使用している、事実上すべてのPowerShellコマンドで。Get-Process、Get-EventLog、Get-Helpなどの他のコマンドレットで試すことができます。HTML変換とは別に、ConvertToコマンドレットを使用してJSON、CSV、およびXMLファイルを生成することもできることに注意してください。コマンド構文のHTMLを目的の形式に置き換えるだけです。
7.エクスポート-CSV
テーブルにうまく収まると思われるさまざまなオブジェクトを操作している場合は、PowerShellを使用して、現在処理しているアイテムを一連のCSV(カンマ区切り値)文字列に変換し、文字列をにエクスポートできます。 Export-CSVコマンドレットを使用して1回の迅速な操作でファイルを作成します。
ConvertTo-HTMLと同様に、Export-CSVは、それ自体では機能しないため、CSV文字列に変換できる入力が必要です。したがって、前に説明したGet-ServiceやGet-Processなど、データの生成に使用できるコマンドとペアにする必要があります。
基本的に、Export-CSVは、見落としてはならない1つの重要な側面を除いて、上記で説明したConvertTo-HTMLコマンドレットとほぼ同じことを行います。このコマンドレットは、実際にファイルを生成し、それをコンピューターに保存します。 ConvertToコマンド。これは、出力のみを提供し、自分でファイルを作成できるようにします。
たとえば、コンピュータで実行されているサービスのリストをCSVファイルに変換して、サードパーティソフトウェアでファイルをさらに処理したり、さらに参照できるようにスプレッドシートに入れたりしたいとします。次の例のように、Get-Serviceコマンドに続けてExport-CSVコマンドを入力し、CSVファイルを生成する場所を指定するだけです。
Get-Service | Export-CSV c:\Tips.WebTech360.csv
上記のコマンドは、実行中かどうかに関係なく、コンピューターで利用可能なすべてのサービスのリストを取得し、それらを一連のCSV文字列に変換し、結果を「Tips.WebTech360」という名前のCSVファイルとしてCドライブのルートに保存します。 。次に、サードパーティのソフトウェアソリューションでファイルを開いたり、本格的なテーブルに変換したり、将来の使用のために保存したりできます。
PowerShellチートシート–結論
CMDを支持する人はまだたくさんいますが、PowerShellはより用途が広く、はるかに強力ですが、同時に、従来のCMDの対応物よりも操作が複雑であると言われています。PowerShellで自動化スクリプトを作成し、複雑なシステム管理操作を実行できるという事実と組み合わされた膨大な量の機能は、CMDを影の円錐形のままにします。
PowerShellを見つけ始めたばかりで、各コマンドの機能、複数のコマンドをパイプライン化する方法、または単純なPowerShellスクリプトを独自に作成して実行する方法を理解するのに苦労している場合は、ガイドが最適な出発点です。時間をかけて、PowerShellで知っておくべき最も重要なコマンドのいくつかを説明し、いくつかの短いチュートリアルを作成しました。また、簡単にするために、基本的なPowerShellコマンドのリスト、それらのエイリアス、および各項目の簡単な説明も含めました。 PowerShellディスカバリージャーニー。
Ping スイープはさまざまな方法で活用できます。ベスト 10 の Ping スイープ ツールの方法と紹介について説明しますので、読み続けてください。
Web サイトは重要であり、適切なパフォーマンスを得るために常に注意深く監視する必要があります。ここでは、Web サイトを監視するための最適なツールをいくつか紹介します。
ネットワーク管理ソフトウェア市場は非常に混雑しています。最適なネットワーク管理ツールの推奨事項に従って、検索を短縮します。
ここでは、任意の数のマシンを管理する煩わしさを軽減するための最高のソフトウェア展開ツールをいくつか紹介します。
医療業界にいる場合、またはその業界のITに何らかの形で関わっている場合は、HIPAAについて聞いたことがあるでしょう。健康保険の相互運用性
sFlowは、多数のネットワークデバイスに組み込まれているフロー分析プロトコルです。上位5つの無料のsFlowコレクターとアナライザーを確認します。
適切なツールを選択できるように、最高のエージェントレスインフラストラクチャ監視ツールを導入し、それぞれを簡単に確認できるようにしました。
Linuxがデータセンターでますます普及するにつれ、Linuxでの帯域幅の監視を検討し、最高のツールも検討しています。
電子メールのセキュリティは、マネージドサービスプロバイダーの重要なタスクです。その目的に最適なツールの1つであるSolarWindsMailAssureをレビューしていました。
Windowsのパワーユーザーの場合、PCでさまざまな操作を実行する方法が、複数のアプローチを持ち、