Bilgisayarlar hakkında bilgi toplama
Bu örnek yalnızca Windows platformları için geçerlidir.
CimCmdlets modülündeki cmdlet'ler , genel sistem yönetimi görevleri için en önemli cmdlet'lerdir. Tüm kritik alt sistem ayarları WMI aracılığıyla kullanıma sunulur. Ayrıca WMI, verileri bir veya daha fazla öğeden oluşan koleksiyonlarda bulunan nesneler olarak değerlendirir. PowerShell nesnelerle de çalıştığından ve tek veya birden çok nesneyi aynı şekilde ele almanızı sağlayan bir işlem hattına sahip olduğundan, genel WMI erişimi çok az çalışmayla bazı gelişmiş görevleri gerçekleştirmenize olanak tanır.
Masaüstü ayarlarını listeleme
Yerel bilgisayardaki masaüstleri hakkında bilgi toplayan bir komutla başlayacağız.
Get-CimInstance -ClassName Win32_Desktop
Bu, kullanımda olup olmadıklarına bakılmaksızın tüm masaüstleri için bilgileri döndürür.
Not
Bazı WMI sınıfları tarafından döndürülen bilgiler çok ayrıntılı olabilir ve genellikle WMI sınıfı hakkındaki meta verileri içerebilir.
Bu meta veri özelliklerinin çoğunda Cim ile başlayan adlar olduğundan, kullanarak Select-Object
özellikleri filtreleyebilirsiniz. Değer olarak "Cim*" ile -ExcludeProperty parametresini belirtin. Örneğin:
Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"
Meta verileri filtrelemek için komutunun sonuçlarını Get-CimInstance
Select-Object -ExcludeProperty "CIM*"
adresine göndermek için işlem hattı işlecini (|) kullanın.
BIOS Bilgilerini Listeleme
WMI Win32_BIOS sınıfı, yerel bilgisayardaki sistem BIOS'ları hakkında oldukça küçük ve eksiksiz bilgiler döndürür:
Get-CimInstance -ClassName Win32_BIOS
İşlemci Bilgilerini Listeleme
Wmi'nın Win32_Processor sınıfını kullanarak genel işlemci bilgilerini alabilirsiniz, ancak büyük olasılıkla bilgileri filtrelemek isteyeceksiniz:
Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"
İşlemci ailesinin genel bir açıklama dizesi için SystemType özelliğini döndürebilirsiniz:
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType
SystemType
----------
X86-based PC
Bilgisayar üreticisini ve modelini listeleme
Bilgisayar modeli bilgileri Win32_ComputerSystem'dan da edinilebilir. Standart görüntülenen çıktının OEM verilerini sağlamak için herhangi bir filtrelemeye gerek yoktur:
Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain TotalPhysicalMemory Model Manufacturer
---- ---------------- ------ ------------------- ----- ------------
MyPC Jane Doe WORKGROUP 804765696 DA243A-ABA 6415cl NA910 Compaq Presario 06
Doğrudan bazı donanımlardan bilgi döndüren bu gibi komutlardan elde ettiğiniz çıkış, yalnızca sahip olduğunuz veriler kadar iyidir. Bazı bilgiler donanım üreticileri tarafından doğru yapılandırılmadığından kullanılamayabilir.
Yüklü düzeltmeleri listeleme
Win32_QuickFixEngineering kullanarak tüm yüklü düzeltmeleri listeleyebilirsiniz:
Get-CimInstance -ClassName Win32_QuickFixEngineering
Bu sınıf aşağıdaki gibi görünen düzeltmelerin listesini döndürür:
Source Description HotFixID InstalledBy InstalledOn PSComputerName
------ ----------- -------- ----------- ----------- --------------
Security Update KB4048951 Administrator 12/16/2017 .
Daha kısa bir çıkış için bazı özellikleri dışlamak isteyebilirsiniz. Yalnızca HotFixID'yi seçmek için 's Property parametresini kullanabilirsinizGet-CimInstance
, ancak bunun yapılması aslında daha fazla bilgi döndürür çünkü tüm meta veriler varsayılan olarak görüntülenir:
Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixID
InstalledOn :
Caption :
Description :
InstallDate :
Name :
Status :
CSName :
FixComments :
HotFixID : KB4533002
InstalledBy :
ServicePackInEffect :
PSComputerName :
CimClass : root/cimv2:Win32_QuickFixEngineering
CimInstanceProperties : {Caption, Description, InstallDate, Name…}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
...
içindeki Property parametresi, PowerShell'e Get-CimInstance
döndürülen nesneyi değil WMI sınıf örneklerinden döndürülen özellikleri kısıtladığı için ek veriler döndürülür. Çıkışı azaltmak için kullanın Select-Object
:
Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId |
Select-Object -Property HotFixId
HotFixId
--------
KB4048951
İşletim sistemi sürüm bilgilerini listeleme
Win32_OperatingSystem sınıfı özellikleri sürüm ve hizmet paketi bilgilerini içerir. Win32_OperatingSystem sürüm bilgileri özetini almak için yalnızca bu özellikleri açıkça seçebilirsiniz:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion
Özellik parametresiyle joker karakterler de kullanabilirsiniz. Derleme veya ServicePack ile başlayan tüm özelliklerin burada kullanılması önemli olduğundan, bunu şu biçimde kısaltabiliriz:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property Build*,OSType,ServicePack*
BuildNumber : 18362
BuildType : Multiprocessor Free
OSType : 18
ServicePackMajorVersion : 0
ServicePackMinorVersion : 0
Yerel kullanıcıları ve sahibi listeleme
Yerel kullanıcılar hakkında genel bilgiler, çeşitli Win32_OperatingSystem sınıf özellikleriyle bulunabilir. Aşağıdaki gibi görüntülenecek özellikleri açıkça seçebilirsiniz:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property NumberOfLicensedUsers, NumberOfUsers, RegisteredUser
Joker karakter kullanan daha kısa bir sürüm:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*
Kullanılabilir disk alanı alma
Yerel sürücülerin disk alanını ve boş alanını görmek için Win32_LogicalDisk sınıfını kullanabilirsiniz. Yalnızca DriveType değeri 3 olan örnekleri, WMI'nin sabit sabit diskler için kullandığı değeri görmeniz gerekir.
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
DeviceID DriveType ProviderName VolumeName Size FreeSpace PSComputerName
-------- --------- ------------ ---------- ---- --------- --------------
C: 3 Local Disk 203912880128 65541357568 .
Q: 3 New Volume 122934034432 44298250240 .
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" |
Measure-Object -Property FreeSpace,Size -Sum |
Select-Object -Property Property,Sum
Property Sum
-------- ---
FreeSpace 109839607808
Size 326846914560
Oturum açma oturum bilgilerini alma
Win32_LogonSession WMI sınıfı aracılığıyla kullanıcılarla ilişkilendirilmiş oturum açma oturumları hakkında genel bilgi alabilirsiniz:
Get-CimInstance -ClassName Win32_LogonSession
Kullanıcının bir bilgisayarda oturum açmasını sağlayın
Win32_ComputerSystem kullanarak belirli bir bilgisayar sisteminde oturum açmış olan kullanıcıyı görüntüleyebilirsiniz. Bu komut yalnızca sistem masaüstünde oturum açmış olan kullanıcıyı döndürür:
Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
Bilgisayardan yerel saat alma
Win32_LocalTime WMI sınıfını kullanarak belirli bir bilgisayarda geçerli yerel saati alabilirsiniz.
Get-CimInstance -ClassName Win32_LocalTime
Day : 23
DayOfWeek : 1
Hour : 8
Milliseconds :
Minute : 52
Month : 12
Quarter : 4
Second : 55
WeekInMonth : 4
Year : 2019
PSComputerName :
Hizmet durumunu görüntüleme
Belirli bir bilgisayardaki tüm hizmetlerin durumunu görüntülemek için cmdlet'ini Get-Service
yerel olarak kullanabilirsiniz. Uzak sistemler için Win32_Service WMI sınıfını kullanabilirsiniz. Sonuçları Status, Name ve DisplayName olarak filtrelemek için de kullanırsanızSelect-Object
, çıkış biçimi ile Get-Service
hemen hemen aynıdır:
Get-CimInstance -ClassName Win32_Service |
Select-Object -Property Status,Name,DisplayName
Uzun adlara sahip hizmetlerin adlarının tam olarak görüntülenmesine izin vermek için öğesinin Otomatik Boyutlandırma ve Sarmalama parametrelerini Format-Table
kullanın. Bu parametreler sütun genişliğini iyileştirir ve uzun adların kesilmesi yerine kaydırılmasını sağlar:
Get-CimInstance -ClassName Win32_Service |
Format-Table -Property Status, Name, DisplayName -AutoSize -Wrap
PowerShell