指定された名前付きパラメーターを使用してパラメーターセットを解決することはできません

poisedforflight

以下のスクリプトでは、-liveまたは-testパラメーターのいずれかが必要です。ただし、スクリプトはどちらのスイッチも使用せずに実行されます。これらのパラメータのいずれかを使用すると、以下のエラーが発生します。-liveまたは-testのいずれかを必要としないのはなぜですか?また、それらのいずれかを使用すると失敗するのはなぜですか?

C:\ Users \ Administrator \ Documents \ Disable-ADAccounts.ps1:指定された名前付きパラメーターを使用してパラメーターセットを解決できません。行:1文字:1+。。\ Disable-ADAccounts.ps1 -days 7 -all -live + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ + CategoryInfo:InvalidArgument :( :) [Disable-ADAccounts.ps1]、ParameterBindingException + FullyQualifiedErrorId:AmbiguousParameterSet、Disable-ADAccounts.ps1

    [CmdletBinding()]
    param (
    [Parameter(Mandatory = $true, ParameterSetName = 'UsersOnly')]
    [Switch]
    $usersOnly,

    [Parameter(Mandatory = $true, ParameterSetName = 'ComputersOnly')]
    [Switch]
    $computersOnly,

    [Parameter(Mandatory = $true, ParameterSetName = 'All')]
    [Switch]
    $all,

    [Parameter(Mandatory=$true)]
    [string]
    $days,

    [switch]
    $console,

    [Parameter(Mandatory = $true, ParameterSetName = 'Test')]
    [switch]
    $test,

    [Parameter(Mandatory = $true, ParameterSetName = 'Live')]
    [switch]
    $live
)

Process {
    $DC = Get-ADDomainController
    $OUs = Get-ADOrganizationalUnit -Filter * # Uncomment this line to search ALL OUs.  Comment Next Variable.
    #$OUs = Get-ADOrganizationalUnit -Filter 'Name -eq "test"' # Use this line to test on a single OU
    $TimeStamp = get-date -format D
    $description = "Disabled on " + $TimeStamp
    $noDisableComputer =  Get-ADGroupMember -Identity DoNotDisableComputers -Recursive | Select -ExpandProperty Name
    $noDisableUser =  Get-ADGroupMember -Identity DoNotDisableUsers -Recursive | Select -ExpandProperty Name
    $noDisable = $noDisableComputer+$noDisableUser
    $CurrentDate = Get-Date
    $CurrentDate = $CurrentDate.ToString('yyMMdd_hhmmss')
    $tempDir = [System.Environment]::GetEnvironmentVariable('TEMP','Machine')
    $logFile = $tempDir + "\DisabledAccounts_$CurrentDate.csv"

    # If -test switch is used enable -WhatIf parameter.
    If($test) { $whatIf = @{ WhatIf = $true } }
    ElseIf($live) { $whatIf = @{ WhatIf = $false } }

    # Set parameter to UsersOnly, ComputersOnly, or do not use a perameter
    If($usersOnly) { $scope = @{ UsersOnly = $true } }
    ElseIf($computersOnly) { $scope = @{ ComputersOnly =$true } }
    ElseIf($all) { $scope = @{} }

    # Disable User and/or Computer Objects inactive for XX days.

    # Iterate through Organizational Units
    foreach ($OU in $OUs) {

        # Search for User and/or Computer Objects inactive for XX days.  Disable object if not in DoNotDisable Security Groups
        $days = $days + "D"
        $accounts = Search-ADAccount -SearchBase $OU.DistinguishedName -SearchScope OneLevel -AccountInactive -TimeSpan ([timespan]7D) @scope
        foreach($account in $accounts){
            If ($noDisable -notcontains $account.Name) {
                Write-Host $account
        #        #Disable-ADAccount -Identity $account.DistinguishedName -Verbose $whatIf | Export-Csv $logFile
           }
        }
    }
}    

        # Move Disabled Users to Disabled Users OU & Add Timestamp to Description
        #Search-ADAccount –AccountDisabled –ComputersOnly –SearchBase $OU.DistinguishedName | Foreach-object {
            #Set-ADComputer $_ -Description $description -Verbose -WhatIf
            #Move-ADObject $_ –TargetPath “OU=Disabled Computers, DC=COH,DC=net” -Verbose -WhatIf
        #}
    #}
マシュー

パラメータセットについて混乱していると思います。あなたが行ったことは、5つの異なるパラメータセットを作成し、それらの5つのうちの1つだけがいつでもアクティブにできることです。私があなたの意図を正しく読んだ場合、あなたが必要とするのは、次のいずれかを行う能力です。

 \Disable-ADAccounts.ps1 -days 7 -all -live
 \Disable-ADAccounts.ps1 -days 7 -UsersOnly -live
 \Disable-ADAccounts.ps1 -days 7 -ComputersOnly -live
 \Disable-ADAccounts.ps1 -days 7 -all -test
 \Disable-ADAccounts.ps1 -days 7 -UsersOnly -test
 \Disable-ADAccounts.ps1 -days 7 -ComputersOnly -test

その場合、5つではなく6つの異なるパラメータグループが必要です。各パラメーターは、必要なグループのメンバーである必要があるため、次のようになります。

[Parameter(Mandatory = $true, ParameterSetName = 'UsersOnlyLive')]
[Parameter(Mandatory = $true, ParameterSetName = 'UsersOnlyTest')]
[Switch]
$usersOnly,

[Parameter(Mandatory = $true, ParameterSetName = 'ComputersOnlyLive')]
[Parameter(Mandatory = $true, ParameterSetName = 'ComputersOnlyTest')]
[Switch]
$computersOnly,

[Parameter(Mandatory = $true, ParameterSetName = 'AllLive')]
[Parameter(Mandatory = $true, ParameterSetName = 'AllTest')]
[Switch]
$all,

[Parameter(Mandatory=$true)]
[string]
$days,

[switch]
$console,

[Parameter(Mandatory = $true, ParameterSetName = 'AllTest')]
[Parameter(Mandatory = $true, ParameterSetName = 'UsersOnlyTest')]
[Parameter(Mandatory = $true, ParameterSetName = 'ComputersOnlyTest')]
[switch]
$test,

[Parameter(Mandatory = $true, ParameterSetName = 'AllLive')]
[Parameter(Mandatory = $true, ParameterSetName = 'UsersOnlyLive')]
[Parameter(Mandatory = $true, ParameterSetName = 'ComputersOnlyLive')]
[switch]
$live

パラメータセットの詳細については、このMicrosoftの記事参照してください

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

New-TimeSpan:指定された名前付きパラメーターを使用してパラメーターセットを解決できません

分類Dev

Scalaの名前付きパラメーターに負の数を使用することはできません

分類Dev

名前付きパラメーターを使用したネイティブクエリが「すべての名前付きパラメーターが設定されているわけではありません」で失敗する

分類Dev

Hibernate:名前付きパラメーターを見つけることができませんでした[]

分類Dev

Hibernateは名前付きパラメーターが存在する場合でもそれを見つけることができませんでした

分類Dev

Hibernate-名前付きパラメーターと位置パラメーターを混在させることはできますか?

分類Dev

shapeless.Genericを使用する場合、エラーを回避する方法 'パラメーターが名前で宣言されていない限り、スーパーコンストラクターに自己参照を渡すことはできません'?

分類Dev

これを解決できません:致命的なエラー:キャッチされていない例外「PDOException」とメッセージ「SQLSTATE[HY093]:無効なパラメーター番号:パラメーターが定義されていません」

分類Dev

このエラーを解決できません:mysqli_num_rows()は、パラメーター1がmysqli_resultであると想定しています。ブール値は次のように指定されます。

分類Dev

GORM findAll +は動的リストを名前付きパラメーターとして渡すことができません

分類Dev

「センター」内の2つの「子」に対して「名前付きパラメーター「子」の引数はすでに指定されています」を取得するフラッターチュートリアル

分類Dev

NoSuchElementException:指定された検索パラメーターを使用してページ上で要素を見つけることができませんでした

分類Dev

Moq&C#:コールバックが無効です。パラメータを使用したメソッドのセットアップでは、パラメータを使用してコールバックを呼び出すことはできません

分類Dev

QueryParameterExceptionは、エンティティがない名前付きパラメーターを見つけることができませんでした

分類Dev

letを使用して、関数のパラメーターと同じ名前の変数を定義することはできません

分類Dev

android-スピナーsetOnItemClickListenerは、パラメーターとしてOnItemClickListenerを実装する名前付きクラスを受け入れません

分類Dev

Pythonで関数パラメータとしてリストを使用することはできません

分類Dev

データベースに保存されたユーザー名とパスワードを使用してカスタムログインページを作成しようとしていますが、このエラーを解決できません

分類Dev

パイプラインによって生成されたストリームを読み取ることができません-パラメーター名:format

分類Dev

パラメータバインディングの名前はnullまたは空であってはなりません!名前付きパラメーターの場合、Javaバージョンのクエリメソッドパラメーターには@Paramを使用する必要があります

分類Dev

'T'を具体化されたタイプパラメータとして使用することはできません

分類Dev

どのように私は、getメソッドを使用して送信されたパラメータにアクセスすることができますか?

分類Dev

エラー:ng build --prodを使用してビルドすると、サービスのすべてのパラメーターを解決できません

分類Dev

値を解決する方法をnullにすることはできません。パラメータ名:linqのソース?

分類Dev

名前付きパラメーターをfishスクリプトに渡すことはできますか?

分類Dev

Angularjsは、$ routeParamsを使用してURLエンコードされたURLからパラメーターを読み取ることができません

分類Dev

変数をパラメーターとして使用することはできません

分類Dev

名前付きパラメーター「子」は定義されていません。名前を既存の名前付きパラメーターの名前に修正してみてください

分類Dev

値をnullにすることはできません。パラメータ名:WebAPIでデータを取得しようとしたときのソース

Related 関連記事

  1. 1

    New-TimeSpan:指定された名前付きパラメーターを使用してパラメーターセットを解決できません

  2. 2

    Scalaの名前付きパラメーターに負の数を使用することはできません

  3. 3

    名前付きパラメーターを使用したネイティブクエリが「すべての名前付きパラメーターが設定されているわけではありません」で失敗する

  4. 4

    Hibernate:名前付きパラメーターを見つけることができませんでした[]

  5. 5

    Hibernateは名前付きパラメーターが存在する場合でもそれを見つけることができませんでした

  6. 6

    Hibernate-名前付きパラメーターと位置パラメーターを混在させることはできますか?

  7. 7

    shapeless.Genericを使用する場合、エラーを回避する方法 'パラメーターが名前で宣言されていない限り、スーパーコンストラクターに自己参照を渡すことはできません'?

  8. 8

    これを解決できません:致命的なエラー:キャッチされていない例外「PDOException」とメッセージ「SQLSTATE[HY093]:無効なパラメーター番号:パラメーターが定義されていません」

  9. 9

    このエラーを解決できません:mysqli_num_rows()は、パラメーター1がmysqli_resultであると想定しています。ブール値は次のように指定されます。

  10. 10

    GORM findAll +は動的リストを名前付きパラメーターとして渡すことができません

  11. 11

    「センター」内の2つの「子」に対して「名前付きパラメーター「子」の引数はすでに指定されています」を取得するフラッターチュートリアル

  12. 12

    NoSuchElementException:指定された検索パラメーターを使用してページ上で要素を見つけることができませんでした

  13. 13

    Moq&C#:コールバックが無効です。パラメータを使用したメソッドのセットアップでは、パラメータを使用してコールバックを呼び出すことはできません

  14. 14

    QueryParameterExceptionは、エンティティがない名前付きパラメーターを見つけることができませんでした

  15. 15

    letを使用して、関数のパラメーターと同じ名前の変数を定義することはできません

  16. 16

    android-スピナーsetOnItemClickListenerは、パラメーターとしてOnItemClickListenerを実装する名前付きクラスを受け入れません

  17. 17

    Pythonで関数パラメータとしてリストを使用することはできません

  18. 18

    データベースに保存されたユーザー名とパスワードを使用してカスタムログインページを作成しようとしていますが、このエラーを解決できません

  19. 19

    パイプラインによって生成されたストリームを読み取ることができません-パラメーター名:format

  20. 20

    パラメータバインディングの名前はnullまたは空であってはなりません!名前付きパラメーターの場合、Javaバージョンのクエリメソッドパラメーターには@Paramを使用する必要があります

  21. 21

    'T'を具体化されたタイプパラメータとして使用することはできません

  22. 22

    どのように私は、getメソッドを使用して送信されたパラメータにアクセスすることができますか?

  23. 23

    エラー:ng build --prodを使用してビルドすると、サービスのすべてのパラメーターを解決できません

  24. 24

    値を解決する方法をnullにすることはできません。パラメータ名:linqのソース?

  25. 25

    名前付きパラメーターをfishスクリプトに渡すことはできますか?

  26. 26

    Angularjsは、$ routeParamsを使用してURLエンコードされたURLからパラメーターを読み取ることができません

  27. 27

    変数をパラメーターとして使用することはできません

  28. 28

    名前付きパラメーター「子」は定義されていません。名前を既存の名前付きパラメーターの名前に修正してみてください

  29. 29

    値をnullにすることはできません。パラメータ名:WebAPIでデータを取得しようとしたときのソース

ホットタグ

アーカイブ