Câu trả lời:
Thử:
echo %USERDOMAIN%
hoặc là
echo %USERDNSDOMAIN%
Nếu vẫn không được, bạn có thể thử sử dụng systeminfo:
systeminfo | findstr /B /C:”Domain”
”Domain”
sẽ khiến nó không thể grep chuỗi
% USERDOMAIN% và miền máy tính mạng có thể khác nhau. Lệnh systeminfo sẽ nhận được câu trả lời đúng nhưng đó là SLOW! Đây là một giải pháp tôi đã sử dụng:
@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%
@Mike: giải pháp tốt - nhưng tôi đã gặp một số vấn đề với nó trong môi trường đa ngôn ngữ. Tôi có máy chủ tiếng Đức và tiếng Anh.
Tôi đã thay đổi tập lệnh của bạn để sử dụng 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%
Thx cho ý tưởng của bạn
Bạn có thể chạy lệnh dưới đây trên dấu nhắc lệnh:
set user
Nó cung cấp cho bạn nhiều thông tin hơn liên quan đến tên miền ngoài tên miền như trong ảnh chụp nhanh bên dưới:
Lưu ý quan trọng : Tên miền mà máy tính của bạn được đăng ký có thể không giống với tên miền mà người dùng đã đăng nhập được đăng ký. Vui lòng đọc về tính chuyển đổi và hướng trong sự tin cậy của tên miền để biết cách người dùng đã đăng ký trong một tên miền có thể đăng nhập vào máy tính trên một tên miền khác.