PowerShell/Processus

Aller à la navigation Aller à la recherche

Processus et arrêt forcé

Si un processus est lancé une multitude de fois, il est possible de les terminer :

  • liste de tous les processus du moniteur transactionnel de MonAppli : Get-Process -Name "MonAppli"
  • arrêt de tous les processus du moniteur transactionnel de MonAppli : Stop-Process -Name "MonAppli" -force
  • arrêt d'un processus en particulier pour un utilisateur en particulier : Get-Process -name "MonAppli" -IncludeUserName | Where username -like "*adminphp*" | Stop-Process

Message d'information

  • Invoke-Command -ComputerName RDS14 -ScriptBlock { MSG compteutilisateur test de message }

Source : https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/remote/terminal-server-commands-msg

Processus, liste (PSHPRO001)

Liste des processus de l'application de MonAppli sur les serveurs d'application.

<#
Nom           : PSHPRO001
Description   : liste des processus de l'application de MonAppli en cours sur les RDS
Usage         : permet d'identifier les sessions des utilisateurs ayant de MonAppli d'ouvert
Particularité : néant
Auteur        : Ph. Page
Version       : 1.0
Révisions     :
	- 1.0 (13/02/2023) : création du script
#>
# liste des serveurs RDS à contrôler (création des valeurs RDS01, RDS02...RDS09 :
$RDSListe = (1..9).ForEach({ "{1}{0:d2}" -f $_, "RDS"})
Invoke-Command -ComputerName $RDSListe -ScriptBlock {
    $serverName = $env:COMPUTERNAME
    Get-WmiObject -Class Win32_Process -Filter "Name='MonAppli.exe'" | 
        ForEach-Object {
            $owner = $_.GetOwner()
            $process = $_ | Select-Object @{n='ServerName';e={$serverName}}, Name, ProcessId, @{n='User';e={$owner.User}}, @{n='Domain';e={$owner.Domain}}
            Write-Output $process
        } | Format-Table -AutoSize
}

Processus, liste et terminaison (PSHPRO002)

Terminaison des processus de l'application de MonAppli sur les serveurs d'application..

<#
Nom           : PSHPRO002
Description   : liste des processus de l'application MonAppli en cours sur les RDS, et forçage de la terminaison
Usage         : permet de fermer sans confirmation les processus MonAppli
Particularité : néant
Auteur        : Ph. Page
Version       : 1.0
Révisions     :
	            - 1.0 (13/02/2023) : création du script
#>

# liste des serveurs RDS à contrôler (création des valeurs RDS01, RDS02...RDS08) :
$RDSListe = (1..8).ForEach({ "{1}{0:d2}" -f $_, "rds"})

Invoke-Command -ComputerName $RDSListe -ScriptBlock 
{
    $serverName = $env:COMPUTERNAME
    Get-WmiObject -Class Win32_Process -Filter "Name='MonAppli.exe'" | ForEach-Object 
    {
        $owner = $_.GetOwner()
        $process = $_ | Select-Object @{n='ServerName';e={$serverName}}, Name, ProcessId, @{n='User';e={$owner.User}}, @{n='Domain';e={$owner.Domain}}
        Write-Output $process
        if ($process.ProcessId -ne $null) 
        {
            Stop-Process -Id $process.ProcessId -Force
        }
    } | Format-Table -AutoSize
}

Voir aussi

  •