Powershell-scripting

提供:Dev Guides
移動先:案内検索

Powershell-スクリプト

Windows PowerShellは、特にシステム管理用に設計された*コマンドラインシェル*および*スクリプト言語*です。 Linuxの類似物は、Bash Scriptingと呼ばれます。 .NET Framework上に構築されたWindows PowerShellは、ITプロフェッショナルがWindows Server環境で実行されるWindowsオペレーティングシステムとアプリケーションの管理を制御および自動化するのに役立ちます。

*cmdlets* と呼ばれるWindows PowerShellコマンドを使用すると、コマンドラインからコンピューターを管理できます。 Windows PowerShellプロバイダーを使用すると、ファイルシステムにアクセスするのと同じくらい簡単に、レジストリや証明書ストアなどのデータストアにアクセスできます。

さらに、Windows PowerShellには、豊富な式パーサーと完全に開発されたスクリプト言語があります。 つまり、簡単な言葉で言えば、GUIなどで実行するすべてのタスクを完了できます。 Windows PowerShellスクリプトは完全に開発されたスクリプト言語であり、豊富な式パーサー/

特徴

  • コマンドレット-コマンドレットは、レジストリ、サービス、プロセス、イベントログの管理、Windows Management Instrumentation(WMI)の使用など、一般的なシステム管理タスクを実行します。
  • タスク指向-PowerShellスクリプト言語はタスクベースであり、既存のスクリプトとコマンドラインツールのサポートを提供します。
  • 一貫した設計-コマンドレットとシステムデータストアは共通の構文を使用し、共通の命名規則を持っているため、データ共有は簡単です。 あるコマンドレットからの出力は、操作なしで別のコマンドレットにパイプライン化できます。
  • 使いやすい-簡素化されたコマンドベースのナビゲーションにより、ユーザーはファイルシステムのナビゲーションと同様にレジストリやその他のデータストアをナビゲートできます。
  • オブジェクトベース-PowerShellは強力なオブジェクト操作機能を備えています。 オブジェクトは、他のツールまたはデータベースに直接送信できます。
  • 拡張可能なインターフェイス-PowerShellは独立したソフトウェアベンダーとしてカスタマイズ可能であり、エンタープライズ開発者はPowerShellを使用してソフトウェアを管理するカスタムツールとユーティリティを構築できます。

変数

PowerShell変数は名前付きオブジェクトです。 PowerShellはオブジェクトを操作するため、これらの変数はオブジェクトを操作するために使用されます。

変数を作成する

変数名は$で始まる必要があり、名前に英数字とアンダースコアを含めることができます。 有効な変数名を入力すると、変数を作成できます。

PowerShell ISEコンソールで次のコマンドを入力します。 D:\ testフォルダーにいると仮定します。

$location = Get-Location

ここで、変数$ locationを作成し、Get-Locationコマンドレットの出力を割り当てました。 現在の場所が含まれています。

変数を使用する

PowerShell ISEコンソールで次のコマンドを入力します。

 $location

出力

PowerShellコンソールで次の出力を確認できます。

Path

D:\test

=== 変数の情報を取得する

Get-Memberコマンドレットは、使用されている変数の種類を知ることができます。 下記の例をご覧ください。

[source,prettyprint,notranslate]
$location | Get-Member
=== 出力

PowerShellコンソールで次の出力を確認できます。

[source,result,notranslate]
TypeName: System.Management.Automation.PathInfo

Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Drive Property System.Management.Automation.PSDriveInfo Drive {get;} Path Property System.String Path {get;} Provider Property System.Management.Automation.ProviderInfo Provider {get;} ProviderPath Property System.String ProviderPath {get;}