我目前有一个功能正常的脚本,但有两个搜索功能除外。活动用户搜索限制为两个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
答案 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
。