Inventaire poste
<#
.NOTES
===========================================================================
Created on: 23/06/2020 12:00
Created by: Lucas GarreLeNuageux
Organization: LeNuageux
Filename: Recupere_Info_Poste.ps1
===========================================================================
.DESCRIPTION
- Récupère la configuration de la machine
#>
# - Nettoyage terminal
Clear-Host
# On récupère le nom du poste
$NomPC = $env:COMPUTERNAME
# - Via les collections WMI
$Model = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
$Serial = (Get-CimInstance -ClassName Win32_Bios).SerialNumber
$CPU = (Get-CimInstance -ClassName Win32_Processor).Name
$GPU = (Get-CimInstance -ClassName Win32_VideoController).VideoProcessor
$Windows_Version = (Get-CimInstance -ClassName Win32_OperatingSystem).BuildNumber
$Windows_Install_Date = (Get-CimInstance -ClassName Win32_OperatingSystem).InstallDate
$RAM = (Get-CimInstance -ClassName Win32_ComputerSystem).TotalPhysicalMemory
$Human_Readable_RAM = [Math]::Round((($RAM)/1GB))
# - Recupère la synchronisation de la carte reseau ayant une connectivité vers internet
$Index_Network_Interface = (Get-NetIPConfiguration | Where-Object { $_.NetProfile.IPv4Connectivity -eq 'Internet' }).InterfaceIndex
$Network_Speed = Get-NetAdapter -InterfaceIndex $Index_Network_Interface| Select-Object -ExpandProperty "LinkSpeed"
# Récupère l'adresse MAC de la carte réseau ayant une connectivité vers internet
$MAC = Get-NetAdapter -InterfaceIndex $Index_Network_Interface | Select-Object -ExpandProperty "MacAddress"
# On crée le fichier CSV comportant inventaire suivi du nom du poste
If ((Test-Path ".\inventaire_$NomPC.csv") -eq $True)
{
Remove-Item ".\inventaire_$NomPC.csv" -Force
Write-Host "Recréation du fichier CSV" -ForegroundColor Green
}
else
{
Write-Host "Le fichier n'existe pas création du fichier inventaire_$NomPC.csv" -ForegroundColor Red
New-Item ".\inventaire_$NomPC.csv" -Type File -Force
}
# On importe le fichier csv
$File = ".\inventaire_$NomPC.csv"
# On ajoute les colones
Add-Content -path $File -Encoding UTF8 -value "Nom du poste,Modèle,Numéro de série,Numéro de Build Windows,Processeur,Carte Graphique,Quantité de Mémoire Vive (GO),Addresse Mac,Synchronisation Réseau"
# On ajoute le contenu des variables
Add-Content -Path $File -Encoding UTF8 -Value "$NomPC,$Model,$Serial,$Windows_Version,$CPU,$GPU,$Human_Readable_RAM,$MAC,$Network_Speed"