如何将未指定的服务器设置为排出模式,注销未指定服务器上的用户,最后使该服务器退出排出模式



排水模式,将相对权重设置为 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("SYSTEMCurrentControlSetControlTerminal Server", $true)
    $regKey.SetValue("TSServerDrainMode", 2, 'DWORD')
    sleep -s 30
    Write-Host "30 more seconds."
    sleep -s 30
    $regKey.SetValue("TSServerDrainMode", 0, 'DWORD')

最新更新