Тест для существования AD объекта в PowerShell с помощью только обеспеченный Microsoft cmdlets

У Вас не должно быть нескольких ключей, однако, по умолчанию позволит только одно соединение с определенным ключом, т.е. у Вас могут быть проблемы, если пользователи не разъединяют свое соединение VPN. Существует установка (duplicate-cn) в конфигурационном файле для разрешения многочисленных связей с определенным сертификатом/ключом.

4
задан 14 September 2011 в 20:18
5 ответов

Попробовать удалить его и прочитать код возврата?

(Шучу. Отчасти.)

0
ответ дан 3 December 2019 в 03:34
$c = Get-ADComputer <$ComputerName>
if($c -eq $null) { ItDoesntExist } else { ItLives }

Это должно делать именно то, что вам нужно ... вы сказали, что это не работает для вас, почему именно?


Извините, похоже, что этот командлет на самом деле выдает исключение, а не просто возвращает $ null , как описано здесь ... и он также игнорирует параметр -erroraction (прокрутите вниз до комментариев на связанной странице).

Предлагаемое решение:

$errorActionPreference = "SilentlyContinue"

Get-ADComputer <$ComputerName>

Или, лучше, посмотрите мой другой ответ.

2
ответ дан 3 December 2019 в 03:34

Чтобы протестировать объект AD в целом с помощью DistinguishedName, вы можете использовать следующее:

[bool] (Get-ADObject -Filter {DistinguishedName-eq "CN = Users, DC = domain, DC = local"})

Или, если вы хотите выполнить поиск по другому свойству, например samaccountname:

[bool] (Get-ADObject -Filter {sAMAccountname -eq "Administrator"})

Оба возвращают только логическое значение ($ true или $ false) и могут использоваться в условной логике (если / иначе и т. д.).

0
ответ дан 3 December 2019 в 03:34
$errored=$false
try { Add-ADGroupMember -Identity $SomeGroupName $SomeComputer  }
catch {
    $errored=$true
    Write-Output "$SomeComputer does not exist in AD,$_" | Tee-Object $errorLogFileName -Append
}
if ( $errored == $false) { 
    #either accept the computer is added to $SomeGroupName or delete it back out now that you know $someComputer exists
}
0
ответ дан 3 December 2019 в 03:34

Теги

Похожие вопросы