PowerShell ile Sistem Envanteri ve Raporlama (Donanım & Yazılım Bilgileri)

PowerShell Sistem Envanteri Raporlama Nedir?

PowerShell sistem envanteri raporlama, bilgisayar donanımı, işletim sistemi, yazılım ve ağ bilgilerini otomatik olarak toplayarak merkezi bir rapor haline getirme işlemidir.
Bu yöntem, özellikle BT envanter yönetimi, SCCM dışı raporlama ve denetim hazırlıkları için idealdir. CSV ile veri dışa aktarmayı detaylı öğrenmek istersen PowerShell ile Active Directory Kullanıcılarını CSV’ye Aktarma makalemizi inceleyebilirsin.

PowerShell ile Donanım Bilgilerini Listeleme

Temel sistem bilgilerini çekmek için:

Get-ComputerInfo | Select-Object CsName, WindowsVersion, OsBuildNumber, OsArchitecture, CsManufacturer, CsModel

Daha detaylı donanım bilgileri için:

Get-WmiObject Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed Get-WmiObject Win32_PhysicalMemory | Select-Object Capacity, Manufacturer Get-WmiObject Win32_LogicalDisk | Select-Object DeviceID, Size, FreeSpace

İpucu: Tüm bilgileri tek bir raporda toplamak için WMI (Windows Management Instrumentation) sınıflarını birleştirebilirsiniz.

PowerShell ile Yüklü Yazılımları Listeleme

Bilgisayarda kurulu olan programları listelemek için:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Where-Object { $_.DisplayName -ne $null } | Sort-Object DisplayName

Alternatif olarak 64-bit kayıt defteri yolunu da dahil etmek için:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select DisplayName, DisplayVersion, Publisher, InstallDate

CSV veya HTML Raporu Oluşturma Script’i

Aşağıdaki script hem donanım hem yazılım bilgilerini toplayarak CSV olarak dışa aktarır:

# PowerShell Sistem Envanteri Raporlama Scripti $ComputerName = $env:COMPUTERNAME $Date = Get-Date -Format "yyyyMMdd" 
$ReportPath = "C:\Reports\$ComputerName-Inventory-$Date.csv" 
$System = Get-WmiObject Win32_ComputerSystem $OS = Get-WmiObject Win32_OperatingSystem $CPU = Get-WmiObject Win32_Processor 
$Disk = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" 
$Inventory = [PSCustomObject]@{ ComputerName = $ComputerName Manufacturer = $System.Manufacturer Model = $System.Model CPU = $CPU.Name RAM_GB = [math]::Round(($System.TotalPhysicalMemory / 1GB), 2) OSVersion = $OS.Caption OSBuild = $OS.BuildNumber FreeDisk_GB = [math]::Round(($Disk.FreeSpace / 1GB), 2) TotalDisk_GB = [math]::Round(($Disk.Size / 1GB), 2) } $Inventory | Export-Csv -Path $ReportPath -NoTypeInformation -Encoding UTF8 Write-Host "Envanter raporu oluşturuldu: $ReportPath"

HTML Raporlama (Renkli Tablo Formatında)

$ReportPath = "C:\Reports\InventoryReport.html" Get-ComputerInfo | Select CsName, WindowsVersion, OsBuildNumber, OsArchitecture | ConvertTo-Html -Title "PowerShell Sistem Envanteri" -PreContent "<h2>Donanım ve Yazılım Raporu</h2>" | Out-File $ReportPath Invoke-Item $ReportPath

İpucu: HTML raporlar, yöneticiler veya denetim ekipleri için görsel olarak daha okunabilir bir format sağlar.

Gerçek Senaryo: Ağdaki Tüm Bilgisayarlardan Envanter Toplama

Active Directory’den tüm bilgisayarları çekip rapor oluşturmak için:

Import-Module ActiveDirectory $computers = Get-ADComputer -Filter * | Select -ExpandProperty Name foreach ($pc in $computers) { try { $info = Get-WmiObject Win32_ComputerSystem -ComputerName $pc -ErrorAction Stop "$pc, $($info.Manufacturer), $($info.Model)" | Out-File "C:\Reports\NetworkInventory.csv" -Append } catch { Write-Warning "Bağlantı başarısız: $pc" } }

 Bu yöntem, büyük kurumsal ağlarda merkezi donanım envanteri oluşturmak için idealdir.

Artık PowerShell kullanarak:

  • Bilgisayar donanım bilgilerini toplayabilir,

  • Yazılım envanteri oluşturabilir,

  • Raporları CSV veya HTML formatında dışa aktarabilir
    ve ağınızdaki tüm cihazlardan merkezi envanter çıkarabilirsiniz.

PowerShell sistem envanteri raporlamak, IT yöneticileri için manuel takip ihtiyacını ortadan kaldırır.

Detaylı Bilgi İçin Kaynaklar:

Tolga CEYHAN

Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.

View Comments

Recent Posts

PowerShell Komutları (Profesyonel Rehber)

Birçok kişi PowerShell komutları konusuna yalnızca “hangi komut ne işe yarar?” düzeyinde yaklaşır. Oysa profesyonel…

1 ay ago

Windows File Server Migration Rehberi (Adım Adım Veri Taşıma)

Kurumsal IT altyapılarında zamanla depolama ihtiyaçlarının artması, eski sunucuların performansının yetersiz kalması veya yeni mimariye…

1 ay ago

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

NTFS Permission Tasarımı: AGDLP Modeli ile Kurumsal Yetkilendirme Rehberi Kurumsal ortamlarda NTFS permission tasarımı, dosya…

2 ay ago

Windows File Server Güvenliği Rehberi

Kurumsal yapılarda Windows File Server güvenliği, veri bütünlüğü ve iş sürekliliği açısından kritik öneme sahiptir.…

2 ay ago

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Blockchain Log Bütünlüğü Bu yazımızda blockchain log bütünlüğü üzerine incelemelerde bulunacağız. Günümüz kurumsal sistemlerinde en…

3 ay ago

PowerShell SQL Backup Script – Automated Full Database Backup

A PowerShell SQL Server backup script is a practical way to standardize SQL backups across…

3 ay ago

This website uses cookies.

Read More