Windows 10 conserve-t-il un journal indiquant quand/quels services ont été activés/désactivés ?
Comment une personne pourrait-elle trouver cette information ?
Merci !
Windows 10 conserve-t-il un journal indiquant quand/quels services ont été activés/désactivés ?
Comment une personne pourrait-elle trouver cette information ?
Merci !
Le journal des événements de Windows, disponible en exécutant eventvwr
enregistre les interactions avec le Service Control Manager. Dans ce cas, nous sommes intéressés par le System
log, la Source est Service Control Manager
et l'EventID est 7040
.
Un exemple d'événement, exporté en XML, est le suivant :
Log Name: System
Source: Service Control Manager
Date: 17/08/2020 14:11:08
Event ID: 7040
Task Category: None
Level: Information
Keywords: Classic
User: SYSTEM
Computer: asus
Description:
The start type of the Background Intelligent Transfer Service service was changed from demand start to auto start.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
<EventID Qualifiers="16384">7040</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime="2020-08-17T13:11:08.7830390Z" />
<EventRecordID>47575</EventRecordID>
<Correlation />
<Execution ProcessID="944" ThreadID="19856" />
<Channel>System</Channel>
<Computer>asus</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="param1">Background Intelligent Transfer Service</Data>
<Data Name="param2">demand start</Data>
<Data Name="param3">auto start</Data>
<Data Name="param4">BITS</Data>
</EventData>
</Event>
Pour n'exporter que les valeurs qui nous intéressent ici, c'est-à-dire le CreationTime
y Message
la commande PowerShell suivante peut être utilisée :
Get-WinEvent -FilterHashtable @{logname='system'; id=7040} | Where-Object {$_.message -like "*disabled*"} | select TimeCreated, Message | Out-GridView
Si vous souhaitez décomposer les paramètres du message, vous pouvez utiliser le PowerShell suivant :
$Report = @()
foreach ($e in (Get-WinEvent -FilterHashtable @{logname="system"; id=7040}))
{
$obj = [PSCustomObject]@{
Time = $e.TimeCreated
ServiceDisplayName = ([xml]$e.ToXml()).Event.SelectSingleNode("//*[@Name='param1']")."#text"
OldState = ([xml]$e.ToXml()).Event.SelectSingleNode("//*[@Name='param2']")."#text"
NewState = ([xml]$e.ToXml()).Event.SelectSingleNode("//*[@Name='param3']")."#text"
ServiceName = ([xml]$e.ToXml()).Event.SelectSingleNode("//*[@Name='param4']")."#text"
}
$Report += $obj
}
$Report | Out-GridView
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.