Advertisement
Guest User

Untitled

a guest
Dec 1st, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. $Servers = Get-Content "Path\Servers.txt"
  2.  
  3. $Username = "user"
  4. $Username = "domain\user"
  5. $Password = "password"
  6.  
  7. function TestFunction
  8. {
  9. $RebootServers = @()
  10.  
  11. Foreach ($Server in $Servers) {
  12. quser /server:$Server 2>&1 | Select-Object -Skip 1 | ForEach-Object {
  13. $CurrentLine = $_.Trim() -Replace '\s+',' ' -Split '\s'
  14. $UserID = $CurrentLine[0]
  15. if ($CurrentLine[2] -eq 'Disc') {
  16. $SessionID = $CurrentLine[1]
  17. $UserState = $CurrentLine[2]
  18. } else {
  19. $SessionId = $CurrentLine[2]
  20. $UserState = $CurrentLine[3]
  21. }
  22.  
  23. If ((10 -lt $SessionID ) -and ($UserState -eq "Disc") -and
  24. ($Server -notmatch 'server([0][6]|[0][9]|[1][2]|[1][9])')) {
  25.  
  26. $RebootServers += $Server
  27. #Logoff $SessionID /Server:$Server /VM
  28.  
  29. } ElseIf ((10 -lt $SessionID ) -and ($UserID -eq $Username) -and
  30. ($Server -notmatch 'server([0][6]|[0][9]|[1][2]|[1][9])')) {
  31. $RebootServers += $Server
  32. }
  33. }
  34. }
  35. $RebootServers | Sort-Object -Unique
  36. }
  37.  
  38. $RebootServers = TestFunction
  39. Write-Output $RebootServers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement