オブジェクトを理解することは、PowerShellを「取得する」ための基本概念の1つです。オブジェクトを探索し、それらがPowerShellを他のどのシェルよりも優れたものにするかについて、今すぐご参加ください。. シリーズの前の記事を必ず読んでください。 PowerShellを使用してWindowsを自動化する方法を学ぶ PowerShellでコマンドレットを使用する方法 そして、シリーズの残りの部分を一週間中お楽しみに. オブジェクト PowerShellがBashのような伝統的なLinuxシェル、あるいは従来のコマンドプロンプトと異なる点は何ですか。答えは非常に単純です。従来のシェルはテキストを出力するため、フォーマットやフィルタリングなどを行うことが困難です。もちろん、仕事を終わらせるのに役立つツールもあります(sedとgrepが頭に浮かぶ)が、結局のところ、何らかの種類のヘビーテキストの構文解析をしたい場合は、次のような正規表現を知る必要があります。あなたの手の甲. PowerShellは、基盤となる.Netフレームワークを利用し、テキストの代わりにオブジェクトを使用して異なるアプローチを取ります。オブジェクトは単なる表現です。それらはそれらを使用するためのパーツとアクションの集合です。自転車の部品とその使用方法を見てみましょう。. 2つの小さな違いを除けば、.NETのオブジェクトはほとんど同じです。 プロパティ そして「指示」は呼ばれます 方法. Windowsサービスをオブジェクトとして表現したい場合は、Service Name、State、Descriptionの3つのプロパティを使用してそれを記述するのが適切であると判断するかもしれません。また、サービスと対話する必要があるので、オブジェクトにStart、Stop、およびPauseメソッドを指定します。. オブジェクトのプロパティとメソッドは、Get-Memberコマンドレットに渡すことで確認できます。 PowerShellコマンドレットが出力するオブジェクトは、主に.NETフレームワークの基になる型ですが、C#などの言語を使用する必要がある場合、またはPSObject型を使用する必要がある場合は、独自のオブジェクトを作成できます。. パイプライン パイプラインを備えたたくさんのLinuxシェルがあり、あるコマンドが出力したテキストを入力としてパイプラインの次のコマンドに送ることができます。 PowerShellでは、1つのコマンドレットが出力するオブジェクトを受け取り、それらを入力としてパイプラインの次のコマンドレットに渡すことができるので、これを次のレベルに引き上げることができます。コツは、コマンドレットから返されるオブジェクトの種類を知ることです。これは、Get-Memberコマンドレットを使用するときに非常に簡単です。. Get-Service |会員になる この記事の範囲を超えた理由で、プロパティとメソッドはまとめてクラスメンバーと呼ばれます。これは、Get-Memberコマンドレットを使用してオブジェクトが持つすべてのメソッドとプロパティの一覧を取得する理由を説明しています。ただし、Get-Memberコマンドレットは、もう1つの重要な情報、基本となるオブジェクトの種類も返します。上のスクリーンショットでは、Get-Serviceが次の型のオブジェクトを返すことがわかります。 System.ServiceProcess.ServiceController PowerShellはテキストではなくオブジェクトを処理するため、パイプラインを使用してすべてのコマンドレットをリンクできるわけではありません[1]。つまり、パイプラインからSystem.ServiceProcess.ServiceControllerオブジェクトを受け取るようにしているコマンドレットを見つける必要があります。. Get-Command -ParameterType System.ServiceProcess.ServiceController Stop-Serviceというコマンドレットがあります。それのための助けを見てみましょう. Get-Help -Nameサービス停止...