Passer au contenu principal

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"