我们所有的测试箱都运行在VM上(windows 2003/08),测试人员只通过远程桌面访问它们。
一些维护步骤需要将所有用户踢出系统,并通过远程桌面禁用访问。
我开始用powershell编写维护脚本,并正在寻找一种暂时停用远程桌面的方法。这有可能吗,有什么直截了当的解决办法吗?
到目前为止,我已经尝试过:
任何暗示都非常感谢。
干杯,托比
发布于 2012-02-03 12:25:38
现在我找到了一个适合我的解决方案。Windows 2008附带了一个名为"终端服务服务器漏模式“的特性
..。TS服务器耗尽模式防止新用户登录到服务器上,同时允许当前登录的用户重新连接到现有会话。通过等待现有用户保存其工作并注销,管理员可以在不造成用户数据丢失的情况下将终端服务器关闭以进行维护。
在激活排水模式之前,我确保没有人登录,然后使用以下代码激活排水模式:
Invoke-Command -ComputerName myServerHostName -ScriptBlock
{
Set-ItemProperty -Path "HKLM:\SYSTEM\Currentcontrolset\control\Terminal Server" -Name TSServerDrainMode -Value 1
}
虽然我正在更改注册表项,但不需要重新启动服务器才能使更改生效。这不需要重新启动就能工作。
当我完成维护工作时,我使用"-Value 0“取消活动排水模式,用户可以再次登录。
就像一种魅力!
我最初的回答是:
我通过广泛的网络搜索找到了以下的解决方案(也是未经测试的):
$Terminal = Get-WmiObject Win32_Terminal –Computer “ComputerName”
$Terminal.Enable($True)
我还发现了其他可能的、有趣的代码片段或主题的变体:
$myWmiObject = Get-WmiObject -namespace “rootCIMV2TerminalServices” -class Win32_Terminal -Computer “ComputerName” -Authentication PacketPrivacy
或
Set-WmiInstance -namespace “rootCIMV2TerminalServices” -class Win32_Terminal -ComputerName “ComputerName” -Authentication PacketPrivacy -Argument @{fEnableTerminal=0}
或
Get-WmiObject -ComputerName “ComputerName” -namespace root/cimv2/terminalservices -class Win32_Terminal -Authentication PacketPrivacy
发布于 2011-11-25 11:18:26
你需要设置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections
值默认为1,以禁用远程桌面,但需要重新启动。
另一种似乎不需要重新启动(未经测试)的方式:
$ts=get-WMIObject Win32_TerminalServiceSetting -computername remotemachinename
$ts.SetAllowTSConnections(0)
发布于 2015-03-04 14:54:45
我经常使用这个gWmi代码:
#Remote change logon /disable
$TS_Connector = gwmi Win32_TerminalServiceSetting -N "root/cimv2/terminalservices" -computername $ServerName -Authentication PacketPrivacy
$TS_Connector.Logons=1
$TS_Connector.Put()
以及启用登录
#Remote change logon /enable
$TS_Connector = gwmi Win32_TerminalServiceSetting -N "root/cimv2/terminalservices" -computername $ServerName -Authentication PacketPrivacy
$TS_Connector.Logons=0
$TS_Connector.Put()
因为nead RCP已打开,因此默认情况下在windows上禁用了调用命令()和RPC连接。
https://stackoverflow.com/questions/8268216
复制相似问题