title: How to find all computers a user is logged into
body: <p>I am trying to run a PowerShell script to find all computers a user is logged into on my domain. I haven't been able to get anything to work. I found the following script which will run without errors, but never produces output. Any thoughts or suggestions?</p>
  
  <pre><code>Add-PSSnapin Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue
  $ErrorActionPreference = "SilentlyContinue"
  
  # Retrieve Username to search for, error checks to make sure the username
  # is not blank and that it exists in Active Directory
  
  Function Get-Username {
      $Global:Username = Read-Host "Enter username you want to search for"
      if ($Username -eq $null) {
          Write-Host "Username cannot be blank, please re-enter username!"
          Get-Username
      }
      $UserCheck = Get-QADUser -SamAccountName $Username
      if ($UserCheck -eq $null) {
          Write-Host "Invalid username, please verify this is the logon id for the account"
          Get-Username
      }
  }
  
  get-username
  
  $computers = Get-QADComputer | where {$_.accountisdisabled -eq $false} -searchroot '\\MyDomainName\computers'
  foreach ($comp in $computers) {
      $Computer = $comp.Name
      $ping = new-object System.Net.NetworkInformation.Ping
      $Reply = $null
      $Reply = $ping.send($Computer)
      if($Reply.status -like 'Success') {
          #Get explorer.exe processes
          $proc = gwmi win32_process -computer $Computer -Filter "Name = 'explorer.exe'"
          #Search collection of processes for username
              ForEach ($p in $proc) {
                  $temp = ($p.GetOwner()).User
                  if ($temp -eq $Username) {
                  write-host "$Username is logged on $Computer"
                  }       
              }
          }
      }
  </code></pre>