是否可以使用 PowerShell 或任何其他 .NET 或 Windows API 以编程方式检索分配给 Windows MultiPoint Server 2012 主机的工作站的 IP 或 MAC 地址?
背景:我正在开发一个应用程序来帮助在 WMS 2012 设置中设置 USB-over-Ethernet 零客户端,桥接 PowerShell“WmsCmdlets”模块(Microsoft.WindowsServerSolutions.MultipointServer.PowerShell.Commands.Library.WmsStation)和第三方供应商 API,用于配置零客户端 IP 地址等。到目前为止,我不知道任何将 WmsCmdlets 的“站”与供应商 API 中的零客户端对象匹配的方法。
找出与 WMS 站关联的 IP 或 MAC 会很好,因为我在零客户端 API 端有这个。但是,我还没有找到任何可以在 PowerShell WmsCmdlets 模块中使用的信息,例如 Get-WmsStation,它返回以下内容:
Id : 1
Name : <my station name>
IsAutoLogOn : False
IsSplit : False
CollabId : 0
RemoteConnectionServerName :
VirtualMachineName :
VirtualMachineId :
AutoLogOnUserName :
AutoLogOnPassword :
DeviceTypes : {DT_Mouse, DT_Keyboard, DT_Audio, DT_MassStorage...}
DeviceCounts : {2, 2, 0, 0...}
ComputerName : <my WMS host server name>
SessionId : 4294967295
SessionHostServer : <my WMS host server name>
答案1
查看注册表中的 HKLM\software\microsoft\windows multipoint server\stations,你会看到一个站点 ID 列表,其中包含客户端的相应 MAC 地址,作为 stationhub 路径的一部分
答案2
不确定如何找到其他客户端的 IP,但我们发现当您为每个站点打开获取虚拟 IP 的功能时,存在一个重大错误。当有人登录时,我们的 DNS 会更改主机计算机名称以使用该新 IP,即使其 IP 未更改。这样一来,RDP 和远程仪表板就不再使用主机名(主机的原始 IP 仍然有效)。
我们必须创建一个特殊的服务,每隔几秒钟查找一次并修复我们的 DNS 服务器。这样做有点麻烦,但要小心。微软表示他们将添加一个补丁来修复 IP 问题,但我不确定它是否能修复这个特定问题。