Эквивалентный из имени хоста 'команды Linux - fqdn' в Windows XP?

Помимо обязательного, уже упомянутый Проводник Процесса, существует бесплатный инструмент: ProcessScanner. Это генерирует подробный список рабочих процессов и с какими программами они связаны. Список показывают в веб-браузере.

alt text

Две подобных программы, которые являются задачей manangers, которые показывают дополнительную информацию процессам, "Что Работает", и "DTaskManager" (прокручивают вниз). Оба свободны.

Что работает

alt text
(источник: freewarewiki.com)

DTaskManager

alt text
(источник: altervista.org)

33
задан 12 October 2009 в 15:46
10 ответов

Можно найти его в системных свойствах (вкладка "Computer name").

С командной строкой можно работать IPCONFIG /ALL и взгляните на поля "Host name" и "Primary DNS suffix".

18
ответ дан 28 November 2019 в 19:54
  • 1
    Два различных пути дают различные результаты. ipconfig дает то, что я ожидал, но в ' Компьютер Name' вкладка, домен отличается. Это похоже на имя Рабочей группы, а не доменный суффикс. Действительно ли это - Windows определенная вещь, где они так или иначе эквивалентны? –  Grundlefleck 12 October 2009 в 16:00
  • 2
    В " Компьютер name" вкладка, необходимо посмотреть на " Полный компьютер name" значение; " domain" значение является доменом Windows (или рабочая группа), компьютер является членом. –  Massimo 12 October 2009 в 16:23
  • 3
    Право А-ч. Хорошо должно быть что-то не так с установкой на этой машине, как it' s только показывающий имя хоста (с точкой в конце). Вероятно, wouldn' t должны были задать вопрос, если бы он показывал его как ожидалось :-D. +1 –  Grundlefleck 12 October 2009 в 16:28
  • 4
    Имейте Вас, пытался нажать на " Change" и затем " More"? –  Massimo 12 October 2009 в 16:42

Нет такой опции к hostname команда в окнах. Однако это должно добиться цели:

echo %COMPUTERNAME%.%USERDNSDOMAIN%

Или Вы можете grep (в соответствии с Windows: find /I "string") для Хоста - и Домен от set или systeminfo или ipconfig -all назовите и склейте его в другом месте.

Править: фиксированная Опечатка. Спасибо Benoit

Обновление: переменная %USERDNSDOMAIN% только доступно, когда он зарегистрирован на домене... Суффикс DNS, который Вы получаете от сервера DHCP, не помещается в переменную среды (насколько я мог выяснить).

28
ответ дан 28 November 2019 в 19:54
  • 1
    Вторая переменная является " %USERDNSDOMAIN %". –  Benoit 12 October 2009 в 16:36
  • 2
    % %USERDNSDOMAIN doesn' t, кажется, переменная в этой системе. Если I' m выполнение чего-то не так: H:\>echo %COMPUTERNAME %. % % USERDNSDOMAIN [correctname]. % %USERDNSDOMAIN –  Grundlefleck 12 October 2009 в 17:38
  • 3
    Ach, забыл, что вставка, которая будет ужасна в комментариях. –  Grundlefleck 12 October 2009 в 17:39

Если Вы нуждаетесь к сценариям оболочки порта Unix к окнам или точно так же, как работать над CLI, взглянули на GNUwin32. Это обеспечивает, общим инструментам нравится сокращение, grep, и т.д. для Windows.

0
ответ дан 28 November 2019 в 19:54

vbscript:

' Print FQDN in lower case letters
' Volker Fröhlich (2011)

option explicit
dim Message
dim output
dim WshShell, objEnv
dim mydomain

' Read value from registry
function readFromRegistry (strRegistryKey, strDefault )
    Dim WSHShell, value

    On Error Resume Next
    Set WSHShell = CreateObject("WScript.Shell")
    value = WSHShell.RegRead( strRegistryKey )

    if err.number <> 0 then
        readFromRegistry= strDefault
    else
        readFromRegistry=value
    end if

    set WSHShell = nothing
end function

mydomain = readfromRegistry("HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Domain", "asdf")

' Get the WshShell object
Set WshShell = CreateObject("WScript.Shell")

' Get collection by using the Environment property
Set objEnv = WshShell.Environment("Process")

if (mydomain="") then
Message = LCase(objEnv("COMPUTERNAME"))
else
Message = LCase(objEnv("COMPUTERNAME")) & "." & mydomain
end if

' Write to stdout
set output = wscript.stdout
output.writeline Message

ПАКЕТНЫЙ ФАЙЛ DOS ДЛЯ ВЫЗОВА ВЫШЕ СКРИПТ:

for /f %%a in ('cscript //nologo yourscriptname.vbs') do set FQDN=%%a
echo %FQDN%
pause
1
ответ дан 28 November 2019 в 19:54

Попробуйте это из командной строки:

FOR /F "tokens=2" %i in ('systeminfo ^| find /i "Domain"') do echo %computername%.%i

не забудьте использовать двойной % для %i, если вы используете это в пакетном файле, например. %%i

Причина, по которой вы можете захотеть сделать это так: если ваши пользователи и компьютеры находятся в разных доменах, то %USERDNSDOMAIN% будет неверно применен к вашему компьютеру. Если у вас только один домен и нет дочерних доменов, то при желании вы можете использовать другие решения, указанные выше.

.
1
ответ дан 28 November 2019 в 19:54

Команда:

ping -a localhost
7
ответ дан 28 November 2019 в 19:54

Это также будет работать и не будет иметь задержки systeminfo:

for / f "tokens = 2 delims =:"% i in ('ipconfig / all ^ | findstr Search' ) сделать SET domain =% i & SET newdomain =% domain: =% & echo % COMPUTERNAME%.% Newdomain%

1
ответ дан 28 November 2019 в 19:54

Другая версия:

echo.
echo Getting FQDN...
FOR /F "tokens=1-2" %%A in ('ping -a localhost -n 1') do (
    echo %%A | find /i "Pinging" >nul
    IF NOT ERRORLEVEL 1 SET "FQDN=%%B"
)
echo %FQDN%
0
ответ дан 28 November 2019 в 19:54

Nalu umbhalo we-CMD woku:

@ECHO OFF

FOR /f "tokens=2,* delims= " %%a in ('IPCONFIG ^/ALL ^| FINDSTR "Primary Dns"') do set tempsuffix=%%b
FOR /f "tokens=1,2 delims=:" %%a in ('echo %tempsuffix%') do set dnssuffix=%%b
SET FQDN=%COMPUTERNAME%.%DNSSUFFIX:~1%

ECHO Server FQDN: %FQDN%
0
ответ дан 28 November 2019 в 19:54

используйте 'имя хоста' и комбинируйте с for /F "tokens=3" %%I в ('reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v Domain')do set _MyDomain=%%I

0
ответ дан 2 November 2021 в 10:23

Теги

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