วิธีรับชื่อโดเมนใน Windows โดยใช้คำสั่ง


19

ฉันต้องมีคำสั่งคล้ายกับลินุกซ์' DOMAINNAMEบน Windows ได้โดยไม่ต้องใช้โปรแกรมของบุคคลที่สามใด ๆ

มีคำสั่งดังกล่าวหรือไม่?


สำหรับข้อมูล - ชื่อโดเมนของคอมพิวเตอร์และชื่อโดเมนของผู้ใช้ที่เข้าสู่ระบบอาจไม่เหมือนกัน
RBT

คำตอบ:


26

ลอง:

echo %USERDOMAIN%

หรือ

echo %USERDNSDOMAIN%

หากยังไม่ได้ผลคุณสามารถลองใช้ systeminfo:

systeminfo | findstr /B /C:”Domain”

3
% Userdomain% จะให้โดเมนของผู้ใช้ไม่จำเป็นต้องเหมือนกับชื่อโดเมนของคอมพิวเตอร์ windows-commandline.com/find-domain-name-command-line
Sriniv

การเสนอราคาอัจฉริยะใน”Domain”จะทำให้ไม่สามารถ grep สตริงได้
23719

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

@ ไมค์: วิธีการแก้ปัญหาที่ดี - แต่ฉันมีปัญหาบางอย่างกับมันในสภาพแวดล้อมหลายภาษา ฉันมีเซิร์ฟเวอร์เยอรมันและอังกฤษ

ฉันเปลี่ยนสคริปต์ของคุณเพื่อใช้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. ประวัติผู้ใช้

ป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุสำคัญ : โดเมนที่คอมพิวเตอร์ของคุณลงทะเบียนอาจไม่เหมือนกับโดเมนที่ผู้ใช้ที่เข้าสู่ระบบได้ลงทะเบียนไว้ โปรดอ่านเกี่ยวกับการโอนย้ายและทิศทางในความน่าเชื่อถือของโดเมนเพื่อทราบว่าผู้ใช้ที่ลงทะเบียนในหนึ่งโดเมนสามารถเข้าสู่ระบบคอมพิวเตอร์ในโดเมนอื่นได้อย่างไร


0

มีหนึ่งบรรทัดเพียงพอที่จะรับโดเมนโดยใช้ผู้ใช้ท้องถิ่น:

FOR / F "usebackq tokens = 2 delims ==" %% a ( wmic.exe COMPUTERSYSTEM GET DOMAIN /Value ^|find /i "domain") ตั้งค่า _computerDom = %% a

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.