gpt4 book ai didi

powershell - PowerShell 中计算机的 NetBIOS 域

转载 作者:行者123 更新时间:2023-12-01 16:13:34 24 4
gpt4 key购买 nike

如何从 PowerShell 获取当前计算机的 NetBIOS(又名“短”)域名?

$ENV:USERDOMAIN 显示当前用户的域,但我想要当前计算机所属的域。

我发现你可以做到 pretty easily in VBScript ,但显然ADSystemInfo isn't very nice to use在 PowerShell 中。

更新

这是我的最终解决方案,其中包含使用 Win32_NTDomain 的建议,但过滤到当前机器的域

$wmiDomain = Get-WmiObject Win32_NTDomain -Filter "DnsForestName = '$( (Get-WmiObject Win32_ComputerSystem).Domain)'"
$domain = $wmiDomain.DomainName

最佳答案

在大多数情况下,默认 NetBIOS 域名是 DNS 域名中最左边的标签,最多为前 15 个字节(NetBIOS 名称的限制为 15 个字节)。NetBIOS 域名在 Active Directory 安装过程中可能会更改,但无法更改。

WIN32_ComputerSystem WMI 对象提供 Windows 计算机上的信息

PS C:\> Get-WmiObject Win32_ComputerSystem

Domain : WORKGROUP
Manufacturer : Hewlett-Packard
Model : HP EliteBook 8530w (XXXXXXXXX)
Name : ABCHPP2
PrimaryOwnerName : ABC
TotalPhysicalMemory : 4190388224

因此域名由以下方式给出:

PS C:\> (gwmi WIN32_ComputerSystem).Domain

但是在域安装中,给出了 DNS 名称。在这种情况下,您可以使用 nbtstat -n命令查找 NetBIOS 域名,显示如下 <DOMAIN><1B> .

PowerShell 命令可能是:

nbtstat -n | Select-String -Pattern "^ *(.*) *<1B>.*$" | % {$_ -replace '^ *(.*) *<1B>.*$','$1'}

这是使用 WMI 的另一种方法

PS C:\> (gwmi Win32_NTDomain).DomainName

关于powershell - PowerShell 中计算机的 NetBIOS 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com