Я думаю, что это - плохая идея, почему предельные экземпляры, WL разработан для балансировки потоков через несколько экземпляров и несколько ядер. Если Вы действительно хотите соединить экземпляры проводами, затем просто ставит каждого в отдельном домене - но я все еще думаю, что это - плохая идея. Что, если экземпляр 1 мог бы действительно использовать 5-е ядро и экземпляр 2, находится, ничего не делая?
Ключевое различие между ними в том, что первая команда не включает прямого сравнения значений для получения всех результатов, а вторая команда делает. Первая команда включает результаты NULL, а вторая - нет (как уже обнаружил MDMarra). Обе команды начинаются с этого командлета:
get-aduser
Проходя нижеприведенное, помните, что результаты этого командлета включают всех пользователей AD независимо от чего-либо еще в параметре -filter
после него.
Теперь давайте разбить две разные части. Первый:
{-not (description -eq "auto")}
... означает
-eq
, чтобы можно было его сравнить
на "авто". Значения NULL исключаются из этого сравнения, поскольку оно не может сравнивать NULL со строковым значением. -eq
дает мне ВСЕ, что НЕ является результатом ] (description -eq "auto")
, который будет включать NULL, поскольку исходный командлет, get-aduser
, включает всех пользователей AD. Ему не нужно было ничего сравнивать ни с чем другим с оператором -not
. Он просто дал вам все, кроме результатов фильтра (description -eq "auto")
. В вашем примере предположим, что у вас есть 1 пользователь AD, описание которого равно "auto", несколько сотен с чем-то отличным от "auto" и несколько сотен с описанием NULL. равно "auto" - в результате будет 1 пользователь
Поскольку при использовании оператора -not
не нужно было сравнивать что-либо с чем-либо другим, результат включал NULL-описание пользователей, которые были записаны в исходном get-aduser
командлет.
Вторая команда:
{description -ne "auto"}
... означает
-ne
, чтобы можно было его сравнить
на "авто". Значения NULL исключаются из этого сравнения, поскольку оно не может сравнивать NULL со строковым значением. В вашем примере снова предположим, что у вас есть 1 пользователь AD, описание которого равно «auto», несколько сотен с чем-то другим, кроме "auto" и несколько сотен с NULL-описаниями. Пройдя через логику команды, он сделает:
В любом случае вся разница между двумя командами определенно не интуитивно понятна.
Используя эту команду, вы должны быть в состоянии поймать NULL с помощью "-and", вот так:
{description -ne "auto" -and description -ne $NULL}
Я не на 100% разбираюсь в синтаксисе, так как не могу проверить его прямо сейчас, и, вероятно, есть способ сделать это лучше, чем это тоже. Когда все это разбито, это довольно антиклиматично, и для объяснения потребовалось много набора текста, но я сталкивался с такими странными вещами, прежде чем использовать различные операторы, и много проб и ошибок, так как я никогда не могу вспомнить все предостережения которые используются вместе с каждым из них.
Ссылка: http://technet.microsoft.com/en-us/library/hh847732.aspx : значения и условия испытаний. Например, вы можете сравнить две строки значения, чтобы определить, равны ли они.
Операторы сравнения включают операторы сопоставления (-match, -notmatch), которые находят шаблоны с помощью регулярных выражений; оператор замены (-replace), который использует регулярные выражения для изменения входные значения; подобные операторы (-like, -notlike), которые находят шаблоны с использованием подстановочных знаков (*); и операторы сдерживания (в, -notin, -содержит, -notcontains), которые определяют, появляется ли тестовое значение в наборе ссылок.
Они также включают побитовые операторы (-bAND, -bOR, -bXOR, -bNOT) для манипулировать битовыми шаблонами в значениях.
Для получения дополнительной информации см. about_Comparison_Operators
Логические операторы
Используйте логические операторы (-and, -or, -xor, -not,!) для соединения условных операторов в один комплекс условный . За Например, вы можете использовать логический оператор -and для создания объекта фильтр с двумя различными условиями.
Для получения дополнительной информации см. about_Logical_Operators.
Добавление к этому старому вопросу, возникающему при поиске:
Использование -Filter с отрицательным соответствием, например -ne или -notlike, исключает результаты с пустыми нулевые значения. Чтобы они были включены, вам также необходимо явно сопоставить, используя -notlike '*' as -eq '' и -eq $ NULL не являются допустимыми фильтрами. Обратите внимание, что это причуда с -Filter, использующая прямое -LdapFilter ОТРИЦАТЕЛЬНО соответствует пустым значениям.
Вот пример множественного совпадения с фильтром и LdapFilter с отрицательными значениями:
Get-ADUser -Filter { mail -like '*example*' -and (description -ne 'example' -or description -notlike '*') }
Get-ADUser -LdapFilter '(&(mail=*example*)(!description=example))'