1 votes

Est-il possible d'enregistrer les scripts powershell qui ont été exécutés sur mon ordinateur ?

Le titre dit tout. J'ai déjà activé la journalisation via regedit mais je veux quelque chose de plus stable. J'aimerais voir toutes les commandes exécutées sur powershell dans mon journal des événements, comme Sysmon.

1voto

DavidPostill Points 140654

Est-il possible d'enregistrer les scripts PowerShell qui ont été exécutés sur mon ordinateur ?

Oui.

Windows PowerShell crée un journal d'événements Windows nommé "Windows PowerShell" pour enregistrer les événements Windows PowerShell. Vous pouvez consulter ce journal dans l'Observateur d'événements ou à l'aide de cmdlets qui récupèrent les événements, tels que la commande Get-EventLog cmdlet. Par défaut, les événements du moteur et du fournisseur Windows PowerShell sont enregistrés dans le journal des événements, mais vous pouvez utiliser les variables de préférence du journal des événements pour personnaliser le journal des événements. Par exemple, vous pouvez ajouter des événements concernant les commandes Windows PowerShell.

Source : à propos de Eventlogs - PowerShell | Microsoft Docs

Les journaux PowerShell détaillent les opérations PowerShell, telles que le démarrage et l'arrêt du moteur et des fournisseurs, et l'exécution des commandes PowerShell.

Vous devez enregistrer le fournisseur d'événements PowerShell :

Exécutez la commande suivante à partir d'une invite PowerShell élevée. PowerShell

$PSHOME\RegisterManifest.ps1

Et activer script Block Logging :

Lorsque vous activez la journalisation des blocs script, PowerShell enregistre le contenu de tous les blocs script qu'il traite. Une fois activée, toute nouvelle session PowerShell consigne ces informations.

Exécutez la fonction suivante :

function Enable-PSScriptBlockLogging
{
    $basePath = 'HKLM:\Software\Policies\Microsoft\Windows' +
      '\PowerShell\ScriptBlockLogging'

    if(-not (Test-Path $basePath))
    {
        $null = New-Item $basePath -Force
    }

    Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}

Source : à propos de la journalisation de Windows - PowerShell | Microsoft Docs

0voto

postanote Points 3762

David a raison sur ce point, mais il existe plusieurs autres fonctions de journalisation, qui peuvent toutes être configurées via GPO/LPO sur votre ou vos ordinateurs.

script Traçage et journalisation

La journalisation est activée par le paramètre de stratégie de groupe Turn on PowerShell script Block Logging dans Administrative Templates -> Windows Components -> Windows PowerShell.

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X