如何将未指定的服务器设置为耗尽模式,在未指定的服务器上注销用户,最后使该服务器退出耗尽模式?
How to set an unspecified server in drain mode, log off user on a unspecified server, and finally take that server out of drain mode?
排空模式,将相对权重设置为 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')
排空模式,将相对权重设置为 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')