2017-04-11 33 views
1

排水模式,设置相对权重为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 
    } 
} 

这是远离我的办公桌。

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

+1

'chglogon/drain'? –

+0

我试过,但它不起作用,是否有特定服务器的参数?或者在输入命令之前我需要做的事情? – Bridger

+1

如有疑问,请阅读[文档](https://technet.microsoft.com/zh-cn/library/cc753586.aspx)。 'change logon'(或简称'chglogon')没有远程运行的选项。你需要其他手段(比如'psexec'或'Invoke-Command')。为什么你甚至想要将服务器设置为耗尽模式只需1分钟? –

回答

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') 
相关问题