gpt4 book ai didi

windows - 使用 Powershell 获取嵌套 OU

转载 作者:可可西里 更新时间:2023-11-01 11:21:51 26 4
gpt4 key购买 nike

我试图编写一个 powershell 脚本来获取嵌套 OU 中的服务器的 OU 信息,而不使用 QAD cmdlet,我在一位堆栈成员的帮助下编写了如下代码

$computerName = "DC1"
$found = $FALSE
$domain = [ADSI]("LDAP://dc=contoso,dc=com")

$ous = ($domain.psbase.children |
Where-Object {$_.psBase.schemaClassName -eq "OrganizationalUnit"} |
Select-Object -expand Name)

foreach ($child in $ous){
$ou = [ADSI]("LDAP://ou=$child,dc=contoso,dc=com")
$computers = ($ou.psbase.children |
Where-Object {$_.psBase.schemaClassName -eq "Computer"} |
Select-Object -expand Name)

foreach ($client in $computers){
if ($client -eq $computerName) {
Write-Host "Found $computerName in" $ou.psBase.name
$found = $TRUE
}
}
}

if (-not $found) {Write-Host "$computerName not found."}

我需要一些帮助来修改嵌套 OU 中计算机的存在。

谢谢,维尼思

最佳答案

您可以使用 adsisearcher 加速器:

$searcher = [adsisearcher]'(&(ObjectCategory=computer)(Name=DC1))'
$searcher.FindOne()

关于windows - 使用 Powershell 获取嵌套 OU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com