如何在排水模式下设置未指定的服务器,在未指定的服务器上注销用户,最后将该服务器从排水模式中取出?

时间:2017-04-11 19:51:53

标签: windows powershell windows-server-2008-r2

排水模式,将相对权重设置为1,不允许重新连接任何这些都可以。我只需要在10台Windows 2008 R2服务器阵列上回答这个问题。

到目前为止,除了排水模式之外,我已经完成了所有工作。

$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
    }
}

这远离我的办公桌。

我自己在下面回答了这个问题。

1 个答案:

答案 0 :(得分:0)

要将服务器设置为排水模式,我这样做了:

    $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')