Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $Servers = Get-Content "Path\Servers.txt"
- $Username = "user"
- $Username = "domain\user"
- $Password = "password"
- function TestFunction
- {
- $RebootServers = @()
- Foreach ($Server in $Servers) {
- quser /server:$Server 2>&1 | Select-Object -Skip 1 | ForEach-Object {
- $CurrentLine = $_.Trim() -Replace '\s+',' ' -Split '\s'
- $UserID = $CurrentLine[0]
- if ($CurrentLine[2] -eq 'Disc') {
- $SessionID = $CurrentLine[1]
- $UserState = $CurrentLine[2]
- } else {
- $SessionId = $CurrentLine[2]
- $UserState = $CurrentLine[3]
- }
- If ((10 -lt $SessionID ) -and ($UserState -eq "Disc") -and
- ($Server -notmatch 'server([0][6]|[0][9]|[1][2]|[1][9])')) {
- $RebootServers += $Server
- #Logoff $SessionID /Server:$Server /VM
- } ElseIf ((10 -lt $SessionID ) -and ($UserID -eq $Username) -and
- ($Server -notmatch 'server([0][6]|[0][9]|[1][2]|[1][9])')) {
- $RebootServers += $Server
- }
- }
- }
- $RebootServers | Sort-Object -Unique
- }
- $RebootServers = TestFunction
- Write-Output $RebootServers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement