Powershell脚本限制OU搜索活动/禁用用户

时间:2018-03-14 10:17:10

标签: active-directory powershell-v2.0 quest

我目前有一个功能正常的脚本,但有两个搜索功能除外。活动用户搜索限制为两个OU,而禁用用户限制为单独的2个OU。这都包含在执行AD所有搜索的while循环中。我很难让这两个子搜索工作。无论如何,它们都会返回所有AD用户的结果。我在残疾人搜索中有几个不同的版本。

我试图让它为用户搜索特定的OU,如果不存在,则显示消息说用户未找到。

(cohort_table <- tidyr::gather(cohort_table, CohortGroup, value, -CohortPeriod))
#>     CohortPeriod CohortGroup value
#> 1              1     2009-01    22
#> 2              2     2009-01     8
#> 3              3     2009-01    10
#> 4              4     2009-01     9
#> 5              5     2009-01    10
#> 6              6     2009-01     8
#> 7              7     2009-01     8
#> 8              8     2009-01     7
#> 9              9     2009-01     7
#> 10            10     2009-01     7
#> 11            11     2009-01     7
#> 12            12     2009-01     8
#> 13            13     2009-01    11
#> 14            14     2009-01     7
#> 15            15     2009-01     6
#> 16             1     2009-02    15
#> 17             2     2009-02     3
#> 18             3     2009-02     5
#> 19             4     2009-02     1
#> 20             5     2009-02     4
#> 21             6     2009-02     4
#> 22             7     2009-02     4
#> 23             8     2009-02     5
#> 24             9     2009-02     5
#> 25            10     2009-02     4
#> 26            11     2009-02     3
#> 27            12     2009-02     3
#> 28            13     2009-02     5
#> 29            14     2009-02    NA
#> 30            15     2009-02    NA
#> 31             1     2009-03    13
#> 32             2     2009-03     4
#> 33             3     2009-03     5
#> 34             4     2009-03     4
#> 35             5     2009-03     1
#> 36             6     2009-03     2
#> 37             7     2009-03     2
#> 38             8     2009-03     3
#> 39             9     2009-03     2
#> 40            10     2009-03     1
#> 41            11     2009-03     3
#> 42            12     2009-03     2
#> 43            13     2009-03     1
#> 44            14     2009-03    NA
#> 45            15     2009-03    NA
#> 46             1     2009-04    39
#> 47             2     2009-04    13
#> 48             3     2009-04    10
#> 49             4     2009-04    13
#> 50             5     2009-04     6
#> 51             6     2009-04     7
#> 52             7     2009-04     4
#> 53             8     2009-04     6
#> 54             9     2009-04     2
#> 55            10     2009-04     4
#> 56            11     2009-04     3
#> 57            12     2009-04     2
#> 58            13     2009-04    NA
#> 59            14     2009-04    NA
#> 60            15     2009-04    NA
#> 61             1     2009-05    50
#> 62             2     2009-05    13
#> 63             3     2009-05    12
#> 64             4     2009-05     5
#> 65             5     2009-05     4
#> 66             6     2009-05     6
#> 67             7     2009-05     3
#> 68             8     2009-05     5
#> 69             9     2009-05     5
#> 70            10     2009-05     4
#> 71            11     2009-05     3
#> 72            12     2009-05    NA
#> 73            13     2009-05    NA
#> 74            14     2009-05    NA
#> 75            15     2009-05    NA
#> 76             1     2009-06    32
#> 77             2     2009-06    15
#> 78             3     2009-06     9
#> 79             4     2009-06     6
#> 80             5     2009-06     7
#> 81             6     2009-06     5
#> 82             7     2009-06     3
#> 83             8     2009-06     3
#> 84             9     2009-06    10
#> 85            10     2009-06     3
#> 86            11     2009-06    NA
#> 87            12     2009-06    NA
#> 88            13     2009-06    NA
#> 89            14     2009-06    NA
#> 90            15     2009-06    NA
#> 91             1     2009-07    50
#> 92             2     2009-07    23
#> 93             3     2009-07    13
#> 94             4     2009-07    10
#> 95             5     2009-07    11
#> 96             6     2009-07    10
#> 97             7     2009-07    11
#> 98             8     2009-07     7
#> 99             9     2009-07     7
#> 100           10     2009-07    NA

(cohort_join <- dplyr::inner_join(cohort_table, cohort_group))
#> Joining, by = "CohortGroup"
#> Warning: Column `CohortGroup` joining character vector and factor, coercing
#> into character vector
#>     CohortPeriod CohortGroup value InitialGroupSize
#> 1              1     2009-01    22               22
#> 2              2     2009-01     8               22
#> 3              3     2009-01    10               22
#> 4              4     2009-01     9               22
#> 5              5     2009-01    10               22
#> 6              6     2009-01     8               22
#> 7              7     2009-01     8               22
#> 8              8     2009-01     7               22
#> 9              9     2009-01     7               22
#> 10            10     2009-01     7               22
#> 11            11     2009-01     7               22
#> 12            12     2009-01     8               22
#> 13            13     2009-01    11               22
#> 14            14     2009-01     7               22
#> 15            15     2009-01     6               22
#> 16             1     2009-02    15               15
#> 17             2     2009-02     3               15
#> 18             3     2009-02     5               15
#> 19             4     2009-02     1               15
#> 20             5     2009-02     4               15
#> 21             6     2009-02     4               15
#> 22             7     2009-02     4               15
#> 23             8     2009-02     5               15
#> 24             9     2009-02     5               15
#> 25            10     2009-02     4               15
#> 26            11     2009-02     3               15
#> 27            12     2009-02     3               15
#> 28            13     2009-02     5               15
#> 29            14     2009-02    NA               15
#> 30            15     2009-02    NA               15
#> 31             1     2009-03    13               13
#> 32             2     2009-03     4               13
#> 33             3     2009-03     5               13
#> 34             4     2009-03     4               13
#> 35             5     2009-03     1               13
#> 36             6     2009-03     2               13
#> 37             7     2009-03     2               13
#> 38             8     2009-03     3               13
#> 39             9     2009-03     2               13
#> 40            10     2009-03     1               13
#> 41            11     2009-03     3               13
#> 42            12     2009-03     2               13
#> 43            13     2009-03     1               13
#> 44            14     2009-03    NA               13
#> 45            15     2009-03    NA               13
#> 46             1     2009-04    39               39
#> 47             2     2009-04    13               39
#> 48             3     2009-04    10               39
#> 49             4     2009-04    13               39
#> 50             5     2009-04     6               39
#> 51             6     2009-04     7               39
#> 52             7     2009-04     4               39
#> 53             8     2009-04     6               39
#> 54             9     2009-04     2               39
#> 55            10     2009-04     4               39
#> 56            11     2009-04     3               39
#> 57            12     2009-04     2               39
#> 58            13     2009-04    NA               39
#> 59            14     2009-04    NA               39
#> 60            15     2009-04    NA               39
#> 61             1     2009-05    50               50
#> 62             2     2009-05    13               50
#> 63             3     2009-05    12               50
#> 64             4     2009-05     5               50
#> 65             5     2009-05     4               50
#> 66             6     2009-05     6               50
#> 67             7     2009-05     3               50
#> 68             8     2009-05     5               50
#> 69             9     2009-05     5               50
#> 70            10     2009-05     4               50
#> 71            11     2009-05     3               50
#> 72            12     2009-05    NA               50
#> 73            13     2009-05    NA               50
#> 74            14     2009-05    NA               50
#> 75            15     2009-05    NA               50
#> 76             1     2009-06    32               32
#> 77             2     2009-06    15               32
#> 78             3     2009-06     9               32
#> 79             4     2009-06     6               32
#> 80             5     2009-06     7               32
#> 81             6     2009-06     5               32
#> 82             7     2009-06     3               32
#> 83             8     2009-06     3               32
#> 84             9     2009-06    10               32
#> 85            10     2009-06     3               32
#> 86            11     2009-06    NA               32
#> 87            12     2009-06    NA               32
#> 88            13     2009-06    NA               32
#> 89            14     2009-06    NA               32
#> 90            15     2009-06    NA               32
#> 91             1     2009-07    50               50
#> 92             2     2009-07    23               50
#> 93             3     2009-07    13               50
#> 94             4     2009-07    10               50
#> 95             5     2009-07    11               50
#> 96             6     2009-07    10               50
#> 97             7     2009-07    11               50
#> 98             8     2009-07     7               50
#> 99             9     2009-07     7               50
#> 100           10     2009-07    NA               50

(dplyr::mutate(cohort_join, divided_value = value/InitialGroupSize))
#>     CohortPeriod CohortGroup value InitialGroupSize divided_value
#> 1              1     2009-01    22               22    1.00000000
#> 2              2     2009-01     8               22    0.36363636
#> 3              3     2009-01    10               22    0.45454545
#> 4              4     2009-01     9               22    0.40909091
#> 5              5     2009-01    10               22    0.45454545
#> 6              6     2009-01     8               22    0.36363636
#> 7              7     2009-01     8               22    0.36363636
#> 8              8     2009-01     7               22    0.31818182
#> 9              9     2009-01     7               22    0.31818182
#> 10            10     2009-01     7               22    0.31818182
#> 11            11     2009-01     7               22    0.31818182
#> 12            12     2009-01     8               22    0.36363636
#> 13            13     2009-01    11               22    0.50000000
#> 14            14     2009-01     7               22    0.31818182
#> 15            15     2009-01     6               22    0.27272727
#> 16             1     2009-02    15               15    1.00000000
#> 17             2     2009-02     3               15    0.20000000
#> 18             3     2009-02     5               15    0.33333333
#> 19             4     2009-02     1               15    0.06666667
#> 20             5     2009-02     4               15    0.26666667
#> 21             6     2009-02     4               15    0.26666667
#> 22             7     2009-02     4               15    0.26666667
#> 23             8     2009-02     5               15    0.33333333
#> 24             9     2009-02     5               15    0.33333333
#> 25            10     2009-02     4               15    0.26666667
#> 26            11     2009-02     3               15    0.20000000
#> 27            12     2009-02     3               15    0.20000000
#> 28            13     2009-02     5               15    0.33333333
#> 29            14     2009-02    NA               15            NA
#> 30            15     2009-02    NA               15            NA
#> 31             1     2009-03    13               13    1.00000000
#> 32             2     2009-03     4               13    0.30769231
#> 33             3     2009-03     5               13    0.38461538
#> 34             4     2009-03     4               13    0.30769231
#> 35             5     2009-03     1               13    0.07692308
#> 36             6     2009-03     2               13    0.15384615
#> 37             7     2009-03     2               13    0.15384615
#> 38             8     2009-03     3               13    0.23076923
#> 39             9     2009-03     2               13    0.15384615
#> 40            10     2009-03     1               13    0.07692308
#> 41            11     2009-03     3               13    0.23076923
#> 42            12     2009-03     2               13    0.15384615
#> 43            13     2009-03     1               13    0.07692308
#> 44            14     2009-03    NA               13            NA
#> 45            15     2009-03    NA               13            NA
#> 46             1     2009-04    39               39    1.00000000
#> 47             2     2009-04    13               39    0.33333333
#> 48             3     2009-04    10               39    0.25641026
#> 49             4     2009-04    13               39    0.33333333
#> 50             5     2009-04     6               39    0.15384615
#> 51             6     2009-04     7               39    0.17948718
#> 52             7     2009-04     4               39    0.10256410
#> 53             8     2009-04     6               39    0.15384615
#> 54             9     2009-04     2               39    0.05128205
#> 55            10     2009-04     4               39    0.10256410
#> 56            11     2009-04     3               39    0.07692308
#> 57            12     2009-04     2               39    0.05128205
#> 58            13     2009-04    NA               39            NA
#> 59            14     2009-04    NA               39            NA
#> 60            15     2009-04    NA               39            NA
#> 61             1     2009-05    50               50    1.00000000
#> 62             2     2009-05    13               50    0.26000000
#> 63             3     2009-05    12               50    0.24000000
#> 64             4     2009-05     5               50    0.10000000
#> 65             5     2009-05     4               50    0.08000000
#> 66             6     2009-05     6               50    0.12000000
#> 67             7     2009-05     3               50    0.06000000
#> 68             8     2009-05     5               50    0.10000000
#> 69             9     2009-05     5               50    0.10000000
#> 70            10     2009-05     4               50    0.08000000
#> 71            11     2009-05     3               50    0.06000000
#> 72            12     2009-05    NA               50            NA
#> 73            13     2009-05    NA               50            NA
#> 74            14     2009-05    NA               50            NA
#> 75            15     2009-05    NA               50            NA
#> 76             1     2009-06    32               32    1.00000000
#> 77             2     2009-06    15               32    0.46875000
#> 78             3     2009-06     9               32    0.28125000
#> 79             4     2009-06     6               32    0.18750000
#> 80             5     2009-06     7               32    0.21875000
#> 81             6     2009-06     5               32    0.15625000
#> 82             7     2009-06     3               32    0.09375000
#> 83             8     2009-06     3               32    0.09375000
#> 84             9     2009-06    10               32    0.31250000
#> 85            10     2009-06     3               32    0.09375000
#> 86            11     2009-06    NA               32            NA
#> 87            12     2009-06    NA               32            NA
#> 88            13     2009-06    NA               32            NA
#> 89            14     2009-06    NA               32            NA
#> 90            15     2009-06    NA               32            NA
#> 91             1     2009-07    50               50    1.00000000
#> 92             2     2009-07    23               50    0.46000000
#> 93             3     2009-07    13               50    0.26000000
#> 94             4     2009-07    10               50    0.20000000
#> 95             5     2009-07    11               50    0.22000000
#> 96             6     2009-07    10               50    0.20000000
#> 97             7     2009-07    11               50    0.22000000
#> 98             8     2009-07     7               50    0.14000000
#> 99             9     2009-07     7               50    0.14000000
#> 100           10     2009-07    NA               50            NA

1 个答案:

答案 0 :(得分:0)

我并不完全清楚你要做什么,但我确实在你的代码中发现了一些问题。

我无法与Quest cmdlet通话,但我可以与Get-ADUser通话。

SearchBase参数有点刺痛,但您已将$Dous声明为数组:

$Dous = 'OU=Terminated,DC=childdomain,DC=domain,DC=com', 'OU=Disability Leave,OU=Production,DC=childdomain,DC=domain,DC=com'

然后将其传递给Get-ADUser

Get-ADUser -Server $ADServer -Searchbase $Dous

那不行。您需要为每个OU运行一次Get-ADUser

您还需要设置Filter参数,即使您只是将其设置为*以获取每个用户:

Get-ADUser -Filter * -Server $ADServer -Searchbase 'OU=Terminated,DC=childdomain,DC=domain,DC=com'

但如果您知道自己要查找的帐户的名称,则可能需要另外设置Filter