---
# System prepended metadata

title: Controle de conformité des postes de bureautique d'ITS Integra pour la certification HDS

---

# Controle de conformité des postes de bureautique d'ITS Integra pour la certification HDS

Par Matthieu GOUVERITH
Pour Florian PERRIN
Fait le 08/04/2021

```
$data = @() 
[bool] $veracryptIsPresent = 0

Get-Item -Path HKLM:\SYSTEM\MountedDevices | select -ExpandProperty Property | where {$_ -like "\Dos*"} | 
foreach { $name = $_ 
$data += New-Object -TypeName psobject -Property @{ Device = $name 
Value = (Get-ItemProperty -Path HKLM:\SYSTEM\MountedDevices -Name $name)."$name" 
} 
}
foreach ($item in $data){
    $volumeValues = $item.Value
    $ben=""
    foreach ($char in $volumeValues){
        $ben=$ben+[char]$char   
    }
    if ( $ben -like "*VeraCrypt*"){
        $veracryptIsPresent = 1
    }
}



$IvantiStatusNotFormated = Get-Process -Name "STagent*" | select -first 1 | Format-Table ProcessName -HideTableHeaders -Wrap | Out-String


[bool] $GpoAreOkay = 0
$GPO = gpupdate 
if ( $GPO -like "*sans erreur*"){
    $GpoAreOkay = 1
}


$PropertyHash = @{

VeraCryptIsPresent = $veracryptIsPresent

IvantiStatus = $IvantiStatusNotFormated -replace "`n","" -replace "`r",""

AntivirusStatus = Get-WmiObject -Namespace root\SecurityCenter2 -class AntiVirusProduct | Where-Object {$_.displayName -like "*Kasper*"} | select -ExpandProperty productState

gpo = $GpoAreOkay

}


New-Object -TypeName psobject -Property $PropertyHash| Select-Object IvantiStatus,AntivirusStatus,VeraCryptIsPresent,gpo
```

Ici , 4 recherches se font : 

- Contrôle du chiffrement des postes (Veracrypt)
- Contrôle de kaspersky
- Contrôle de l'agent Ivanti
- Contrôle de l'application des GPO.

(On admet que le firewall est bien activé avec l'agent Kasperski)


**Pour Veracrypt** : 

Je recherche les valeurs des clés de registres des volumes de machine. Si un volume est géré et chiffré par veracrypt , la valeur de la clé de registre , une "string" , contiendra le mot "VeraCrypt".

**Pour Kaspersky** : 

On cherche le processus. Le WMI (Windows Management Instrumentation) nous fourni le "ProductState". Ainsi on peut verifier le status de l'antivirus sur le poste.

**Pour Ivanti** :

On liste tout simplement les processus qui tournent. Si le processus de Ivanti (STAgent) est présent , l'agent Ivanti est présent et bien installé.

**Pour l'application des GPO** : 

On execute la commande "gpudate". Si la commande est executée sans erreur , on admettra que les GPO inhérentes à l'utilisateur sont bien appliquées


**Resultat** : 
![](https://i.imgur.com/6K8lqnl.png)


Par la suite , je compte faire executer ce script a toutes les machines bureautiques avec une boucle sur les nom de machines et la commande "Invoke-Command". J'ai deja géré l'integration avec Excel.