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-CimInstanceSelect-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-Servicehemen 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-Tablekullanı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