Powershell-スクリプト

WindowsPowerShellは command-line shell そして scripting languageシステム管理用に特別に設計されています。Linuxでのその類似物は、Bashスクリプトと呼ばれます。.NETFramework上に構築されたWindowsPowerShellは、ITプロフェッショナルがWindowsオペレーティングシステムとWindowsServer環境で実行されるアプリケーションの管理を制御および自動化するのに役立ちます。

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

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

特徴

  • Cmdlets −コマンドレットは、レジストリ、サービス、プロセス、イベントログの管理、Windows Management Instrumentation(WMI)の使用など、一般的なシステム管理タスクを実行します。

  • Task oriented − PowerShellスクリプト言語はタスクベースであり、既存のスクリプトとコマンドラインツールをサポートします。

  • Consistent design−コマンドレットとシステムデータストアは共通の構文を使用し、共通の命名規則があるため、データ共有は簡単です。あるコマンドレットからの出力は、操作なしで別のコマンドレットにパイプライン処理できます。

  • Simple to Use −簡略化されたコマンドベースのナビゲーションにより、ユーザーはファイルシステムナビゲーションと同様にレジストリやその他のデータストアをナビゲートできます。

  • Object based− PowerShellは、強力なオブジェクト操作機能を備えています。オブジェクトは、他のツールやデータベースに直接送信できます。

  • Extensible interface. − PowerShellは、独立系ソフトウェアベンダーやエンタープライズ開発者が、PowerShellを使用してソフトウェアを管理するカスタムツールやユーティリティを構築できるため、カスタマイズ可能です。

変数

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

変数の作成

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

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

$location = Get-Location

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

変数の使用

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

$location

出力

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

Path                                                                                    
----                                                                                    
D:\test

変数の情報を取得する

Get-Memberコマンドレットは、使用されている変数のタイプを通知できます。以下の例を参照してください。

$location | Get-Member

出力

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

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;}