kingernd67 | Bonjour tout le monde... J'ai récemment ouvert un sujet pour récupérer les utilisateurs d'un serveur TSE en Batch... Et la seule réponse était "Passe en Powershell".
J'ai donc fais un script en powershell et je reste bloquer au même point qu'en BATCH ! Ce que je veux c'est juste de récupérer l'utilisateur en fonction du processus mais il ne fonctionne qu'en LOCAL... J'ai fais de nombreuse recherche mais aucune solution j'espère trouver de l'aide ICI Voici 2 scripts qui se ressemble :
Code :
- $computername="Tse-1.com"
- $processus ="services"
- # $ProcessName recupère l'utilisateur du processus
- Clear-Variable body
- $valeur1 += Get-Process $processus -ComputerName $computername
- # 1 000 000 000 octets
- if ($valeur1.WS -ige 1000000) {Write-Host "Le processus est surchargé $computername"
- (Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'" ).GetOwner().User |
- Sort-Object -Unique
- }
- else{
- "Le processus est bon"}
- $processus2 ="services2"
- $valeur2 += Get-Process $processus2 -ComputerName $computername
- # 1 000 000 000 octets
- if ($valeur2.WS -ige 90000000) {Write-Host "Le processus2 est surchargé $computername"
- (Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'" ).GetOwner().User |
- Sort-Object -Unique
- }
- else{
- "Le processus2 est bon"}
|
DEUXIEME SCRIPT :
Code :
- $repeat=9
- $i=0
- $mail = 0
- Clear-Variable body
- while($repeat -ne $i){
- if($i -eq 0){$computername="TSE00.com"}
- elseif($i -eq 1){$computername="TSE01.com"}
- elseif($i -eq 2){$computername="TSE02.com"}
- $val = get-process test -ComputerName $computername 2> null
- #$valMemo=[Math]::Round($val.WS / 1MB,2) 2> null
- if($val.WS -ge 1000000000){ #1Go, 1 000 Mo, 1 000 000 ko
- $body += "Processus test au dessus de 1 Go, il faut controler $computername`n"
- (Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'" ).GetOwner().User |
- Sort-Object -Unique
- (($mail++))
- }
- else{
- Write-Host "test en dessous de 1 Go sur $computername"
- }
- $val = get-process test2 -ComputerName $computername 2> null
- #$valMemo=[Math]::Round($val.WS / 1MB,2) 2> null
- if($val.WS -ge 1000000000){ #1Go, 1 000 Mo, 1 000 000 ko
- $body += "test2 au dessus de 1 Go, il faut controler $computername`n"
- (($mail++))
- }
- else{
- Write-Host "Processus IntuiSage en dessous de 1 Go sur $computername"
- }
- (($i++))
- }
- if($mail -ge 1){
- $smtpServer = "10.16.0.15"
- $smtpFrom = "admin@****.com"
- $smtpTo = "*****@****.fr"
- $Cc = "****@****.fr"
- $messageSubject = "Processus test volumineux"
- send-mailmessage -from "$smtpfrom" -to "$smtpto" -subject "$messageSubject" -Cc "$Cc" -body "$body" -Priority High -smtpServer "$smtpserver"
- }
|
Message édité par kingernd67 le 08-11-2018 à 16:45:53
|