3 回答
TA贡献1811条经验 获得超6个赞
根据文档,函数os.Hostname()
返回内核报告的系统主机名。因此,如果您的计算机名为computer1
,则os.Hostname()
返回computer1
。如果您的计算机已命名computer1.my.office
,则os.Hostname()
返回computer1.my.office
。在 Windows 上,是一样的。如果您想要域名(指 Active Directory 域),您有四种方法:
解析这个命令的结果:
wmic computersystem get domain
解析这个命令的结果:
systeminfo | findstr /B /C:"Domain"
假设环境变量存在
USERDNSDOMAIN
并评估其值(注意:该变量的值是在用户存储的域中引用的)检查分配给工作站的 ip 是否可以通过 DNS 解析(对于这一点,您可以查看:https : //github.com/Showmax/go-fqdn)
TA贡献1757条经验 获得超7个赞
默认情况下没有捷径。
os.Hostname()默认不提供完全限定域名。
cmd := exec.Command("/bin/hostname", "-f")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Errorf(err)
}
fqdn := out.String()
fqdn = fqdn[:len(fqdn)-1] // removing EOL
- 3 回答
- 0 关注
- 423 浏览
添加回答
举报