对于我正在开发的项目,我正在寻找能够在用户启动terminal服务会话时为其分配特定IP的function。
我正在使用Windows Server 2008 R2 SP1,并尝试使用远程桌面IP虚拟化,但据我了解,只有当用户使用或不使用dhcp访问时,我才能启用将随机IP分配给会话的能力registry项)。
我需要在项目防火墙上为每个用户设置过滤规则。
编辑
从我所了解的有几个DLL处理(在“假DHCP”模式,更改registry项)的IP分配。 如果为用户分配一个静态IP实际上不被支持,是否可以从头构build一个库来处理这种情况,如果是,当我可以find一些有关这些库的MS文档(我指的是TSVIPool.dll和第二个一个可以分配给相同的registrypath中的密钥控制,我找不到名称)
如果服务器上有多个networking适配器,则显然只支持每个程序模式,而不是每个会话模式。 也可能值得检查DHCP服务器日志,看看它试图获得新租赁的Mac地址。
但是,是的,MS文档似乎表明这只是为了获取需要特定客户端端口的应用程序,而不是作为策略引擎。 也许你可以看看Windows和防火墙的支持作为替代?
如果DHCP服务器在您的边界并且您控制它,则可以实现您想要的。 您需要在login过程中find客户端的远程IP地址,然后在DHCP中保留IP地址。
下面的例子中,dhcpserver.contoso.com是dhcp服务器名称。
PS C:> Get-DhcpServerv4Lease -ComputerName dhcpserver.contoso.com -IPAddress 10.10.10.11 | Add-DhcpServerv4Reservation -ComputerName dhcpserver.contoso.com
请注意,这是一个老问题,但terminal服务器需要在2012年最低才能使用该PowerShell cmdlet,目标dhcp服务器可以在2008R2。
要findIP,您可能需要一个像在那里列出的模块,像Get-TSSession cmdlet一样发出