PowerShell モジュールを作成しています。Identity パラメーターを受け取り、Web サービスを呼び出し、PERSON 型 (Web サービスからの戻り値の型) のオブジェクトを返す Get-MyPerson 関数があります。
現在、いくつかのプロパティを更新するために Set-MyPerson オブジェクトに取り組んでいます。私ができるようにしたいのは:
Set-MyPerson 1234 -GolfHandicap 22
Get-MyPerson JDoe | Set-MyPerson -GolfHandicap 22
(後者は Get-ADUser | Set-ADUser の使用法に続く)
これには、Set-MyPerson が前者の場合は string 型のパラメーターを受け入れ、後者の場合は Person 型のパラメーターを受け入れ、パラメーター セットを使用して区別する必要があります。
文字列に対して機能する基本的な機能がありますが、Person オブジェクトのパラメーターに苦労しています。
[Parameter(ParameterSetName="Person",Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
[PERSON]$Person,
PowerShell が PERSON を認識しないため (予想どおり) は機能しません。
Set-MyPerson : タイプ [PERSON] が見つかりません: このタイプを含むアセンブリが読み込まれていることを確認してください。
PowerShell に PERSON クラスを認識させるにはどうすればよいですか?