Как проверить, входит ли компьютер в домен
Обновлено: 21.11.2024
Тестирует и восстанавливает безопасный канал между локальным компьютером и его доменом.
Синтаксис
Описание
Командлет 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 на материнской плате