Как получить доменное имя в Windows с помощью команды?

19

Мне нужна команда, аналогичная доменному имени Linux в Windows, без использования стороннего приложения.

Есть ли такая команда?

Рики
источник
Для информации - доменное имя компьютера и доменное имя вошедшего в систему пользователя могут не совпадать.
RBT

Ответы:

26

Пытаться:

echo %USERDOMAIN%

или

echo %USERDNSDOMAIN%

Если это все еще не работает, вы можете попробовать использовать systeminfo:

systeminfo | findstr /B /C:”Domain”
Джон Лин
источник
3
% Userdomain% выдаст домен пользователя, не обязательно совпадающий с именем домена компьютера. windows-commandline.com/find-domain-name-command-line
Сринов
умные кавычки не ”Domain”дадут понять строку
phuclv
1

% USERDOMAIN% и домен сетевого компьютера могут отличаться. Команда systeminfo получит правильный ответ, но он МЕДЛЕННЫЙ! Вот решение, которое я использовал:

@REM + find the computer domain name
 FOR /F "usebackq tokens=*" %%a IN (`ipconfig /all`) DO (
     @((ECHO %%a | findstr /i /c:"Primary Dns Suffix") && SET _str=%%a) > NUL 2>&1
 )
 FOR /F "tokens=2 delims=:" %%a IN ("%_str%") do SET _computerDomain=%%a
 SET _computerDomain=%_computerDomain: =%

 SET _fqdn=%COMPUTERNAME%.%_computerDomain%
Майк
источник
1

@Mike: отличное решение - но у меня были некоторые проблемы с ним в многоязычной среде. У меня есть немецкий и английский серверы.

Я изменил ваш скрипт для использования wmic.exe :

@REM + Find the computer domain name
@echo off
FOR /F "usebackq tokens=*" %%a IN (`wmic.exe COMPUTERSYSTEM GET DOMAIN /Value`) DO (
      @((ECHO %%a | findstr /i /c:"Domain=") && SET _str=%%a) > NUL 2>&1
)
FOR /F "tokens=2 delims=^=" %%a IN ("%_str%") do SET _computerDomain=%%a
SET _computerDomain=%_computerDomain: =%
SET _fqdn=%COMPUTERNAME%.%_computerDomain%
echo %_fqdn%

Спасибо за вашу идею

Бернхард
источник
1

Вы можете запустить следующую команду в командной строке:

set user

Это дает вам гораздо больше информации, связанной с доменом, в дополнение к имени домена, как показано на снимке ниже:

  1. Пользовательский DNS-домен
  2. Домен пользователя
  3. Профиль домена в роуминге пользователя
  4. Имя пользователя
  5. Профиль пользователя

введите описание изображения здесь

Важное примечание : домен, в котором зарегистрирован ваш компьютер, может отличаться от домена, в котором зарегистрирован вошедший в систему пользователь. Ознакомьтесь с информацией о транзитивности и направлении доверия домену, чтобы узнать, как пользователь, зарегистрированный в одном домене, может войти в систему компьютера в другом домене.

RBT
источник
0

Достаточно одной строки, чтобы получить домен с помощью локального пользователя:

FOR / F "usebackq tokens = 2 delims ==" %% a IN ( wmic.exe COMPUTERSYSTEM GET DOMAIN /Value ^|find /i "domain") DO set _computerDom = %% a

Brocky
источник