如何在漏极模式下设置未指定的服务器,在未指定的服务器上注销用户,并最终使该服务器脱离漏极模式?
问题描述:
排水模式,设置相对权重为1,不允许新的重新连接任何这些将工作。我只需要在10台Windows 2008 R2服务器上使用PowerShell的解决方案。如何在漏极模式下设置未指定的服务器,在未指定的服务器上注销用户,并最终使该服务器脱离漏极模式?
我已经得到了一切,但排水模式工作到目前为止。
$ErrorActionPreference = 'silentlycontinue'
$username = Read-Host "Enter Username: "
$serverList = @("foo", "boo", "hullabaloo", "hoot")
foreach ($item in $serverList)
{
if (quser $username /server:$item)
{
quser $username /server:$item
Write-Host $username is at $item
#Set $item to drain mode
#logoff $username /server:item
Sleep 60 -s
#Set $item out of drain mode
}
}
这是远离我的办公桌。
我在下面自己回答了这个问题。
答
将服务器设置地漏我做了这个模式:
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $item)
$regKey = $Reg.OpenSubKey("SYSTEM\CurrentControlSet\Control\Terminal Server\", $true)
$regKey.SetValue("TSServerDrainMode", 2, 'DWORD')
sleep -s 30
Write-Host "30 more seconds."
sleep -s 30
$regKey.SetValue("TSServerDrainMode", 0, 'DWORD')
'chglogon/drain'? –
我试过,但它不起作用,是否有特定服务器的参数?或者在输入命令之前我需要做的事情? – Bridger
如有疑问,请阅读[文档](https://technet.microsoft.com/zh-cn/library/cc753586.aspx)。 'change logon'(或简称'chglogon')没有远程运行的选项。你需要其他手段(比如'psexec'或'Invoke-Command')。为什么你甚至想要将服务器设置为耗尽模式只需1分钟? –