1

Powershell の AD コマンドレットを使用する場合、次のいずれかを実行して、Microsoft.ActiveDirectory.Management.ADUser 型のオブジェクトを返すことができます。

Get-ADUser user
Get-ADUser user -Properties *

ただし、2 番目は、より多くのプロパティを持つオブジェクトを返します。

これに似たカスタム オブジェクトを返す C# で独自の PowerShell コマンドレットに取り組んでいます。引数に基づいて特定のプロパティのみを返すように設定するにはどうすればよいですか?

返されるクラスの例を次に示します。Suspended bool を含む場合と含まない場合があるように設定するにはどうすればよいですか? たとえば、引数がある場合のみ -Suspended

public class User
{
    public string Username { get; set; }
    public string GivenName { get; set; }
    public string FamilyName { get; set; }
    public string Uri { get; set; }
    public bool Suspended { get; set; }

    public GAUser(string username, string givenName,
        string familyName)
    {
        Username = username;
        GivenName = givenName;
        FamilyName = familyName;
    }
}
4

1 に答える 1

0

スイッチの使用例を次に示します。

$scriptBlock = {
 param ([switch]$Suspended)
 $original = New-Object System.Object
 if ($Suspended)
 {
  $original | Add-Member -MemberType NoteProperty -Name Suspended -Value $true
 }
 Write-Output $original
}

Suspendedスイッチを使用してscriptblockを呼び出すと、$newのプロパティは次のようになります。

$new = & $scriptBlock -Suspended

Suspendedスイッチなしでscriptblockを呼び出すと、$newには次のプロパティがありません。

$new = & $scriptBlock
于 2012-11-02T23:15:37.437 に答える