2013-10-04 5 views
0

Nous avons un tas de PC qui ne font pas partie du domaine (et ne peuvent pas être ajoutés). Ils n'ont pas PS installé et nous préférerions ne pas avoir à l'installer.Obtention d'informations de processus à distance avec Powershell (sans communication à distance)

Je veux utiliser Powershell à partir d'un serveur pour obtenir l'utilisation de la mémoire de 2 processus toutes les heures. Malheureusement, get-process ne semble pas supporter un paramètre -credential. J'ai récupéré win32_process (comme indiqué ci-dessous), mais il renvoie une tonne d'informations (je ne sais pas comment j'aurais juste obtenu VMsize pour deux processus).

$Pass = ConvertTo-SecureString -string "SECRET" -AsPlainText –Force 
$User = "USER" 
$Cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $Pass 


gwmi win32_process -computername PCName -Credential $Cred 

Est-il possible de le faire sans installer PS ou de mettre dans le domaine du PC?

Répondre

1

Vous pouvez utiliser le paramètre Filter pour limiter les processus que vous obtenez les informations sur .: par exemple

Get-WmiObject -cn $c win32_process -Filter "Name='PowerShell.exe'" | ft Name, PrivatePageCount 
0

figured it out. La taille de la VM et du Working est définie pour les applications répertoriées dans $ Processnames sur les ordinateurs répertoriés dans $ HostNames. Il vérifie si l'ordinateur est en vie en premier

$Pass = ConvertTo-SecureString -string "SECRET" -AsPlainText –Force 
$User = "User" 
$Cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $Pass 
$ProcessNames = @('App1.exe', 'App2.exe') 
$HostList [email protected]('Computer1','Computer2') 

foreach ($CurrHost in $HostList) 
{ 
    # check if it's alive 
    if((Test-Connection -Cn $CurrHost -BufferSize 16 -Count 1 -ea 0 -quiet)) 
    { 
     gwmi win32_process -computername $CurrHost -Credential $Cred | 
      Where-Object {$ProcessNames -contains $_.Name } | 
      Select-Object CSName, Name, WorkingSetSize, VirtualSize #| 
      #Format-Table -AutoSize 
    } 
} 
Questions connexes