【问题标题】:How to change Primary DNS Suffix of a computer in .NET?如何在 .NET 中更改计算机的主 DNS 后缀?
【发布时间】:2010-10-28 12:34:46
【问题描述】:

我正在为新 PC 开发一个自动配置应用程序。我设法以编程方式设置了所有需要的参数,除了计算机的主 DNS 后缀(请记住,这与网络连接的默认 DNS 后缀不同)。

有什么帮助吗?

更新:这是用于设置 PC 的 IP、子网、网关和 DNS 的请求类。 http://pastebin.com/fHACwwDV

它仅在具有 1 个网络接口的系统中进行了测试,我不知道当有更多 NIC 时它会如何表现。哦,它是 WIP,所以现在除了抛出异常之外没有实现任何错误处理。

【问题讨论】:

  • 您能否添加说明您是否已完成所有其他配置的文档链接?对其他人非常有用的信息。

标签: c# .net vb.net wmi


【解决方案1】:

从 msdn 上的搜索来看,您似乎需要使用 SetComputerNameEx

pinvoke.net spells out what you'll need to do to access this from C#.

【讨论】:

    【解决方案2】:

    是的,它奏效了。当然,我一如既往地愚蠢,因为我已经设置了主机名。 这是 vb.net 中主机/后缀更改的完整代码:

    Private Enum COMPUTER_NAME_FORMAT As Integer
        ComputerNameNetBIOS = 0
        ComputerNameDnsHostname = 1
        ComputerNameDnsDomain = 2
        ComputerNameDnsFullyQualified = 3
        ComputerNamePhysicalNetBIOS = 4
        ComputerNamePhysicalDnsHostname = 5
        ComputerNamePhysicalDnsDomain = 6
        ComputerNamePhysicalDnsFullyQualified = 7
    End Enum
    
    Public Const MAX_COMPUTERNAME_LENGTH As Int32 = 31
    
    <DllImport("kernel32.dll", CharSet:=CharSet.Ansi, SetLastError:=True)> _
    Private Shared Function SetComputerNameEx( _
        ByVal NameType As COMPUTER_NAME_FORMAT, _
        <MarshalAs(UnmanagedType.LPStr)> ByVal lpBuffer As String) As Integer
    End Function
    
    Public Function SetNewName(ByVal Computername As String, ByVal DNSSuffix As String) As Boolean
        If NetworkSet.SetComputerNameEx(COMPUTER_NAME_FORMAT.ComputerNamePhysicalDnsHostname, _
            Computername & Convert.ToChar(0)) = 0 Then
            Throw New Win32Exception
        End If
        If NetworkSet.SetComputerNameEx(COMPUTER_NAME_FORMAT.ComputerNamePhysicalDnsDomain, _
            DNSSuffix & Convert.ToChar(0)) = 0 Then
            Throw New Win32Exception
        End If
    
    End Function
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2016-02-03
      • 2020-10-20
      • 2014-11-04
      相关资源
      最近更新 更多