Map infra sccm
# Charger le module SCCM
Import-Module ConfigurationManager
# Se connecter au serveur SCCM
$siteServer = "NomDuServeurSCCM"
$siteCode = "CodeDuSiteSCCM"
cd "$($siteCode):"
# Définir le chemin de sortie pour le rapport
$outputPath = "C:\Chemin\Vers\AuditSCCM.csv"
# Récupérer la liste des ordinateurs clients
$computers = Get-CMDevice
# Créer un tableau pour stocker les données de l'audit
$auditData = @()
# Parcourir chaque ordinateur client
foreach ($computer in $computers) {
# Récupérer les informations sur l'ordinateur
$computerInfo = @{
"Nom de l'ordinateur" = $computer.Name
"Modèle" = $computer.Model
"Système d'exploitation" = $computer.OSName
"Version du système d'exploitation" = $computer.OSVersion
"Dernière connexion" = $computer.LastLogonUserName
"Emplacement physique" = $computer.Location
"Statut" = $computer.ClientState
}
# Ajouter les données de l'ordinateur au tableau d'audit
$auditData += New-Object PSObject -Property $computerInfo
}
# Exporter les données d'audit vers un fichier CSV
$auditData | Export-Csv -Path $outputPath -NoTypeInformation
Write-Host "Audit SCCM terminé. Le rapport a été enregistré à l'emplacement : $outputPath"
//////
# Connexion au serveur SCCM
$SiteServer = "NomDuServeurSCCM"
$SiteCode = "CodeDuSiteSCCM"
$SCCMServer = Get-WmiObject -Namespace "root\SMS\site_$SiteCode" -Class "SMS_ProviderLocation" | Where-Object {$_.ProviderForLocalSite -eq $true}
Set-Location $SCCMServer.NamespacePath
# Récupération des informations sur les collections
$Collections = Get-WmiObject -Class SMS_Collection -Namespace "root\SMS\site_$SiteCode"
# Récupération des informations sur les clients
$Clients = Get-WmiObject -Class SMS_R_System -Namespace "root\SMS\site_$SiteCode"
# Récupération des informations sur les serveurs et leurs rôles
$Servers = Get-WmiObject -Class SMS_SystemResourceList -Namespace "root\SMS\site_$SiteCode" | Where-Object {$_.ResourceType -eq "SMS_SERVER"}
# Récupération des informations sur les points de distribution (DP)
$DPs = Get-WmiObject -Class SMS_DistributionPointInfo -Namespace "root\SMS\site_$SiteCode"
# Récupération des informations sur les limites (boundaries)
$Boundaries = Get-WmiObject -Class SMS_Boundary -Namespace "root\SMS\site_$SiteCode"
# Génération du rapport
$Rapport = @{
"Collections" = $Collections
"Clients" = $Clients
"Serveurs" = $Servers
"Points de distribution" = $DPs
"Limites" = $Boundaries
}
# Export du rapport au format CSV
$Rapport | Export-Csv -Path "Audit_SCCM.csv" -NoTypeInformation
Write-Host "Audit terminé. Le rapport a été enregistré sous Audit_SCCM.csv."
////////////
# Connexion au serveur SCCM
$SiteServer = "NomDuServeurSCCM"
$SiteCode = "CodeDuSiteSCCM"
$SCCMServer = Get-WmiObject -Namespace "root\SMS\site_$SiteCode" -Class "SMS_ProviderLocation" | Where-Object {$_.ProviderForLocalSite -eq $true}
Set-Location $SCCMServer.NamespacePath
# Récupération des informations sur les serveurs et leurs rôles
$Servers = Get-WmiObject -Class SMS_SystemResourceList -Namespace "root\SMS\site_$SiteCode" | Where-Object {$_.ResourceType -eq "SMS_SERVER"}
# Récupération des informations sur les points de distribution (DP)
$DPs = Get-WmiObject -Class SMS_DistributionPointInfo -Namespace "root\SMS\site_$SiteCode"
# Récupération des informations sur les limites (boundaries)
$Boundaries = Get-WmiObject -Class SMS_Boundary -Namespace "root\SMS\site_$SiteCode"
# Création d'un fichier .dot pour représenter la carte
$FilePath = "SCCM_Infrastructure.dot"
Add-Content -Path $FilePath -Value "digraph SCCM_Infrastructure {"
foreach ($Server in $Servers) {
Add-Content -Path $FilePath -Value "`t`"$($Server.Name)" [shape=box]"
}
foreach ($DP in $DPs) {
Add-Content -Path $FilePath -Value "`t`"$($DP.ServerName)" [shape=ellipse]"
Add-Content -Path $FilePath -Value "`t`"$($DP.ServerName)" -> $($DP.SiteCode)"
}
foreach ($Boundary in $Boundaries) {
Add-Content -Path $FilePath -Value "`t`"$($Boundary.DisplayName)" [shape=ellipse]"
}
Add-Content -Path $FilePath -Value "}"
Write-Host "Fichier .dot généré : $FilePath"
\\\\\\
Avec Graphviz (https://graphviz.org), générer une map:
dot -Tpng SCCM_Infrastructure.dot -o SCCM_Infrastructure.png
/image%2F0881799%2F20140610%2Fob_a8c7fe_logo2.jpg)
Commenter cet article