Как проверить, входит ли компьютер в домен
Обновлено: 13.12.2025
Тестирует и восстанавливает безопасный канал между локальным компьютером и его доменом.
Синтаксис
Описание
Командлет Test-ComputerSecureChannel проверяет правильность работы канала между локальным компьютером и его доменом, проверяя состояние доверительных отношений. В случае сбоя соединения вы можете использовать параметр Repair, чтобы попытаться восстановить его.
Test-ComputerSecureChannel возвращает $True, если канал работает правильно, и $False, если это не так. Этот результат позволяет использовать командлет в условных операторах в функциях и сценариях. Чтобы получить более подробные результаты теста, используйте параметр Verbose.
Этот командлет работает так же, как NetDom.exe. И NetDom, и Test-ComputerSecureChannel используют службу NetLogon для выполнения действий.
Примеры
Пример 1. Проверка канала между локальным компьютером и его доменом
Эта команда проверяет канал между локальным компьютером и доменом, к которому он присоединен.
Пример 2. Проверка канала между локальным компьютером и контроллером домена
Эта команда указывает предпочитаемый контроллер домена для теста.
Пример 3. Сброс канала между локальным компьютером и его доменом
Эта команда сбрасывает канал между локальным компьютером и его доменом.
Пример 4. Отображение подробной информации о тесте
Эта команда использует общий параметр Verbose для запроса подробных сообщений об операции. Дополнительные сведения о Verbose см. в разделе about_CommonParameters.
Пример 5. Проверка подключения перед запуском скрипта
В этом примере показано, как использовать Test-ComputerSecureChannel для проверки подключения перед запуском скрипта, требующего подключения.
Первая команда использует командлет Set-Alias для создания псевдонима имени командлета. Это экономит место и предотвращает опечатки.
Инструкция if проверяет значение, возвращаемое Test-ComputerSecureChannel, перед запуском скрипта.
Параметры
Запрашивает подтверждение перед запуском командлета.
| Тип: | SwitchParameter |
| Псевдонимы: | cf |
| Позиция: | Имя |
| Значение по умолчанию: | False | < /tr>
| Принимать ввод конвейера: | False |
| Допускать подстановочные знаки: | False |
| Тип: | PSCredential |
| Позиция: | Имя |
| Значение по умолчанию: | Нет |
| Принять ввод конвейера: | False |
| Допускать подстановочные знаки: | False |
Указывает, что этот командлет удаляет, а затем перестраивает канал, установленный службой NetLogon. Используйте этот параметр, чтобы попытаться восстановить соединение, не прошедшее проверку.
Чтобы использовать этот параметр, текущий пользователь должен быть членом группы администраторов на локальном компьютере.
| Тип: | SwitchParameter |
| Позиция: | Именованный |
| Значение по умолчанию: | Нет |
| Принять ввод конвейера: | False |
| Допускать подстановочные знаки: | False |
Указывает контроллер домена для запуска команды. Если этот параметр не указан, этот командлет выбирает контроллер домена по умолчанию для операции.
| Тип: | Строка |
| Позиция: | Именованный |
| Значение по умолчанию: | Нет |
| Принять ввод конвейера: | False |
| Допускать подстановочные знаки: | False |
Показывает, что произойдет, если командлет запустится. Командлет не запущен.
| Тип: | SwitchParameter |
| Псевдонимы: | wi |
| Позиция: | Имя |
| Значение по умолчанию: | False | < /tr>
| Принимать ввод конвейера: | False |
| Допускать подстановочные знаки: | False |
| Общая доступность | 29 июля 2015 г. |
| Последний выпуск | 10.0.19042.870 (18 марта 2021 г.) [±] |
| Последний предварительный просмотр | 10.0.21337.1010 (19 марта 2021 г.) [±] |
| Цель маркетинга | Персональные компьютеры |
| Статус поддержки | < /tr>|
|---|---|
Могу ли я присоединиться к домену с Windows 10 Home?
Нет, Home не позволяет присоединиться к домену, а сетевые функции сильно ограничены. Вы можете обновить машину, установив лицензию Professional.
Мы можем найти доменное имя компьютера, выполнив следующую команду из командной строки.
Мы можем найти домен вошедшего в систему пользователя, используя переменную среды «USERDOMAIN». Команда для этого приведена ниже.
Обратите внимание, что значение в %USERDOMAIN% может не совпадать со значением, возвращаемым командой systeminfo. %USERDOMAIN% указывает доменное имя, к которому принадлежит учетная запись пользователя, оно может отличаться от домена компьютера. Кроме того, это может дать вам NetBios-имя компьютера, а не DNS/FQDN-имя.
В качестве альтернативы мы можем использовать WMIC для получения доменного имени.
Что такое команда для просмотра имени домена в Windows 7
Все приведенные выше команды работают в Windows 7. Команда WMIC может работать или не работать в зависимости от того, поддерживает ли ее версия win7, которая у вас есть.
Команда systeminfo, приведенная в этом посте, также работает в Windows 7. Я думаю, что при копировании команды с этой страницы возникла проблема, и она не сработала. Исправили. Теперь все должно работать.
информация о системе | Домен findstr
Я не вижу причин для /b /c:” “
/C может не потребоваться. /b требуется, чтобы избежать совпадений со значениями других полей команды systeminfo.
Спасибо! Полезный!! Продолжайте в том же духе.
Спасибо за это! Мне нужно было вытащить домен для сценария powershell для использования на серверах, на которых не было модуля ActiveDirectory (и я не собирался его устанавливать).
Это позволило мне захватить домен, затем обрезать заголовок и вернуться в Powershell для моей переменной.
Эта команда возвращает домен или рабочую группу: net config workstation
* Если домен: «DNS-имя домена рабочей станции»
* Если группа: «Домен рабочей станции»
Get-WmiObject не распознается как команда. Ребята, чем помочь?
Get-WmiObject — это командлет PowerShell. Вам нужно использовать команду в терминале PowerShell. Чтобы сделать это в терминале CMD, вам нужно запустить команды WMIC (как описано выше)
Например, «wmic computersystem get domain» (без кавычек)
Может кто-нибудь подсказать, как удаленно получить доменное имя серверов.Мне нужно получить доменное имя для сотни серверов.
Есть ли способ создать CSV-файл с именами серверов, создать пакетный файл и запустить его для получения этой информации?
Любая помощь будет высоко оценена.
Спасибо.
wmic /node: компьютерная система «ИМЯ_КОМПЬЮТЕРА» получает домен
Я получаю домен как рабочую группу. что здесь не так?
Это означает, что ваш компьютер не входит в домен, а входит в рабочую группу. Все домашние компьютеры входят в рабочую группу.
Что такое домен для Windows 8? мне нужно это для смены администратора, это будет работать?
спасибо, что поделились со мной ценным знанием
Отличная информация и список команд... Спасибо.
Просто введите –> установить пользователя
предоставляет вам информацию о домене без поиска
этот командлет выдал правильный результат
set user показывает только домен, членом которого является пользователь.
НЕ домен компьютера. (Это может быть по-другому).
Если это так, рабочая команда wmic computersystem get domain.
информация о системе | findstr /B /C:"Домен" зависит от языка ОС.
если у вас немецкая ОС, это
systeminfo | findstr /B /C:"Домане" .
Но в остальном хорошая информация.
У меня есть следующий фрагмент:
но на самом деле это не отражает того, может ли машина получить доступ к домену. Например, если у меня есть ноутбук, который является членом домена, но в настоящее время не находится в той же сети, значения Win32_ComputerSystem не будут точно отражать состояние подключения к домену.
Я думал об использовании этого теста:
На моей тестовой машине (не подключенной к домену, но являющейся членом домена) это возвращает true. Итак, я рассматриваю:
Ответы
Я использую что-то подобное в одном из своих скриптов:
Я обнаружил, что в VBScript и классическом VB самым быстрым способом является получение атрибута ComputerName объекта ADSystemInfo. Ошибка возникает, если компьютер не аутентифицирован в домене, но время ожидания меньше, чем при других методах. Пример PowerShell:
$SysInfo = New-Object -ComObject "ADSystemInfo"
Попробуйте $UserDN = $SysInfo .GetType().InvokeMember("ComputerName", "GetProperty", $Null, $SysInfo, $Null)
"Подключено к домену"
>
Отловить "Не подключено к домену"
>
Ричард Мюллер — служба каталогов MVP
Все ответы
Я обнаружил, что в VBScript и классическом VB самым быстрым способом является получение атрибута ComputerName объекта ADSystemInfo. Ошибка возникает, если компьютер не аутентифицирован в домене, но время ожидания меньше, чем при других методах. Пример PowerShell:
$SysInfo = New-Object -ComObject "ADSystemInfo"
Попробуйте $UserDN = $SysInfo .GetType().InvokeMember("ComputerName", "GetProperty", $Null, $SysInfo, $Null)
"Подключено к домену"
>
Отловить "Не подключено к домену"
>
Ричард Мюллер — служба каталогов MVP
Я использую что-то подобное в одном из своих скриптов:
Это встроенный командлет версии 2? В последнее время я начинаю путаться со всеми моими модулями. Кроме того, есть ли быстрый способ проверить, какие командлеты являются собственными, а какие импортированными?
Я использую что-то подобное в одном из своих скриптов:
Какова цель $null = [System.DirectoryServices.ActiveDirectory,Domain]::GetComputerDomain()?
Кроме того, я предполагаю, что $isDomain — это просто [Bool], определенный ранее (вне блока try/catch). Это правильно? Я вижу, как тест запускает метод GetComputerDomain, отбрасывает результаты и устанавливает для $isDomain значение true, если ошибок не возникает. В противном случае для $isDomain устанавливается значение false и возвращается (или используется).
Переменная $isDomain ранее не была определена или назначена. Это либо делается $True в блоке Try, либо $False в блоке Catch. Первый оператор в блоке Try извлекает доменное имя компьютера, но, поскольку нам не нужно это значение, ему присваивается значение $Null, что, как я полагаю, является способом его отбрасывания (бросания в корзину). р>
Да, Test-ComputerSecureChannel доступен только в PowerShell версии 2.0 (или выше). Он возвращает $True, если может связаться с контроллером домена. Если вы вытащите сетевой кабель, возникнет ошибка (даже если компьютер аутентифицирован в домене), поэтому вы должны перехватить эту ошибку. И он проверяет связь с контроллером домена.
Ричард Мюллер — служба каталогов MVP
Тест — ComputerSecureChannel — это командлет Windows PowerShell V2. Вы можете использовать свойство Module/Snapin, чтобы проверить, является ли командлет родным или нет.
Вот небольшой пример. (Протестируйте его на компьютере с Windows 7, и у меня не установлено оснастки.)
PS C:\> Командлет Get-Command -CommandType | Групповой модуль
Если ваш компьютер отключился от домена, все вышеперечисленные методы, которыми поделились Михал/Ричард/cmille19, вызовут ошибку. Вы можете использовать try/catch, чтобы перехватить эту ошибку и сделать что-то в блоке перехвата.
С уважением,
Грег Гу
Не забудьте нажать «Пометить как ответ» на сообщении, которое вам поможет, и нажать «Снять пометку как ответ», если помеченное сообщение на самом деле не отвечает на ваш вопрос. Это может быть полезно другим участникам сообщества, читающим ветку.
Читайте также:
- Правильная связь между радиусом окружности, вписанной в правильный шестиугольник, и стороной заданного
- Почему считается более грамотным выносить дизайн веб-страниц в отдельный файл
- Как подключить Sony A6000 к ПК
- Mediatek inc другое оборудование mediatek preloader usb vcom android что это такое
- Ошибка 00 на материнской плате

