私はC#でPowershellモジュールを作成しています。いくつかのコマンドレットは、MicrosoftのAD Powershellモジュールからの入力を処理します。私はPowerShellでこのような何かをしたい:c#のpowershellコマンドレット - ProcessRecordのADオブジェクトにアクセスする方法
Get-ADUser MyUser | New-MyCmdlet
だから、ADのユーザーMyUserと「私のコマンドレット「新-MyCmdlet」に渡されます。私は私のプロジェクトでADUser
を取得する方法がわからないので、私はタイプobject
の入力パラメータを宣言
namespace MyCmdlet
{
[Cmdlet(VerbsCommon.New, "MyAdUserOperation")]
public class NewAdUserOperationCmdlet : Cmdlet
{
[Parameter(
Mandatory = true,
ValueFromPipeline = true,
ValueFromPipelineByPropertyName = true,
HelpMessage = "ADUser object from AD to be stored on database.")]
public object AdUser { get; set; }
protected override void ProcessRecord()
{
base.ProcessRecord();
if (AdUser != null)
{
// do something with the props, e.g:
// var dn = AdUser.DistinguishedName;
// var pwLastSet = AdUser.PasswordLastSet
// etc.....
}
}
}
}
:MyUserとは、次のようにMicrosoft.ActiveDirectory.Management.ADUser
C#クラスが見えるタイプのものです。だから私はもう少しデバッガで見ることができます....コメントしたコードは、私が何をしたいのかを示しています。
Microsoft.ActiveDirectory.Management.ADUser
のアセンブリが見つかりません。私のプロジェクトに何を追加する必要がありますか?