Bilgisayarlar Hakkında Bilgi Toplama

Cimcmdlet modülünden cmdlet 'ler, genel sistem yönetimi görevlerine yönelik en önemli cmdlet lerdir. Tüm kritik alt sistem ayarları WMI aracılığıyla sunulur. Ayrıca, WMI verileri bir veya daha fazla öğe koleksiyonlarında olan nesneler olarak değerlendirir. Windows PowerShell ayrıca nesnelerle birlikte çalıştığından ve tek veya birden çok nesneyi aynı şekilde değerlendirmesine izin veren bir işlem hattına sahip olduğundan, genel wmı erişimi çok az iş sayesinde bazı gelişmiş görevleri gerçekleştirmenize olanak tanır.

masaüstü Ayarlar listeleniyor

Yerel bilgisayardaki masaüstleri hakkında bilgi toplayan bir komutla başlayacağız.

Get-CimInstance -ClassName Win32_Desktop

Bu, kullanımda olup olmadıkları, tüm masaüstleri için bilgi döndürür.

Not

Bazı WMI sınıflarının döndürdüğü bilgiler çok ayrıntılı olabilir ve genellikle WMI sınıfıyla ilgili meta verileri içerebilir.

Bu meta veri özelliklerinin çoğu CIM ile başlayan adlara sahip olduğundan, özellikleri kullanarak filtre uygulayabilirsiniz Select-Object . Değer olarak "CIM *" ile -excludeproperty parametresini belirtin. Örnek:

Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"

Meta verileri filtrelemek için komutunun sonuçlarını göndermek üzere bir işlem hattı işleci (|) kullanın Get-CimInstance Select-Object -ExcludeProperty "CIM*" .

BIOS bilgilerini listeleme

WMI Win32_BIOS sınıfı, yerel BILGISAYARDAKI sistem BIOS 'u hakkında oldukça kompakt ve tüm bilgileri döndürür:

Get-CimInstance -ClassName Win32_BIOS

Işlemci bilgilerini listeleme

Genel işlemci bilgilerini, WMI 'nin Win32_Processor sınıfını kullanarak alabilirsiniz, ancak bu bilgileri büyük olasılıkla filtrelemek isteyebilirsiniz:

Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"

İşlemci ailesinin genel bir açıklama dizesi için, yalnızca 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 bilgilerine de Win32_ComputerSystem de ulaşılabilir. Standart olarak görünen çıkışın OEM verilerini sağlamak için herhangi bir filtreleme gerekmez:

Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain    TotalPhysicalMemory Model                   Manufacturer
---- ---------------- ------    ------------------- -----                   ------------
MyPC Jane Doe         WORKGROUP 804765696           DA243A-ABA 6415cl NA910 Compaq Presario 06

Yalnızca bazı donanımlardan bilgi döndüren bu gibi komutlardan çıktılarınız, yalnızca sahip olduğunuz veriler kadar iyidir. Bazı bilgiler donanım üreticileri tarafından doğru şekilde yapılandırılmamış olabilir ve bu nedenle kullanılamaz.

Yüklü düzeltmeleri listeleme

Win32_QuickFixEngineering kullanarak, yüklü tüm düzeltmeleri listeleyebilirsiniz:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Bu sınıf, şunun gibi görünen düzeltmelerin bir listesini döndürür:

Source Description     HotFixID  InstalledBy   InstalledOn PSComputerName
------ -----------     --------  -----------   ----------- --------------
       Security Update KB4048951 Administrator 12/16/2017  .

Daha fazla kısa çıktı için bazı özellikleri dışlamak isteyebilirsiniz. Get-CimInstanceYalnızca HotfixID'Yi seçmek için özelliği parametresini kullanabilseniz de, bunun yapılması, tüm meta veriler varsayılan olarak görüntülendiğinden daha fazla bilgi döndürür:

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
...

' Deki özellik parametresi, Get-CimInstance PowerShell 'e döndürülen nesne değil, WMI sınıf örneklerinden döndürülen özellikleri kısıtladığından, ek veriler döndürülür. Çıktıyı azaltmak için şunu kullanın Select-Object :

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId |
    Select-Object -Property HotFixId
HotFixId
--------
KB4048951

Işletim sistemi sürüm bilgilerini listeleme

Win32_OperatingSystem sınıfı özellikleri sürümü ve hizmet paketi bilgilerini içerir. Win32_OperatingSystem bir sürüm bilgileri Özeti almak için açıkça yalnızca bu özellikleri seçebilirsiniz:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion

Ayrıca, Select-Object öğesinin özellik parametresiyle joker karakterler kullanabilirsiniz. Derleme ya da hizmetetden başlayan tüm özelliklerin burada kullanılması önem taşımaktadır çünkü bunu aşağıdaki biçimde kısaltabilirsiniz:

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 genel kullanıcı bilgileri: Lisanslı Kullanıcı sayısı, geçerli kullanıcı sayısı ve sahip adı; Win32_OperatingSystem sınıf özellikleri seçimiyle bulunabilir. Şu şekilde görüntülenecek özellikleri açıkça seçebilirsiniz:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser

Joker karakterler kullanan daha kısa bir sürüm şunlardır:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*

Kullanılabilir disk alanı alınıyor

Yerel sürücülere yönelik disk alanını ve boş alanı görmek için Win32_LogicalDisk WMI sınıfını kullanabilirsiniz. Yalnızca Drvetype 'ı olan örnekleri görmeniz gerekir (WMI 'nin sabit sabit diskler için kullandığı değer).

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 oturumu bilgileri alma

Win32_logonsession WMI sınıfı aracılığıyla kullanıcılarla ilişkili oturum açma oturumları hakkında genel bilgi edinebilirsiniz:

Get-CimInstance -ClassName Win32_LogonSession

Kullanıcının bir bilgisayarda oturum açmasını sağlama

Win32_ComputerSystem kullanarak, belirli bir bilgisayar sisteminde oturum açmış kullanıcıyı görüntüleyebilirsiniz. Bu komut yalnızca sistem masaüstüne oturum açan kullanıcıyı döndürür:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Yerel saati bir bilgisayardan alma

Win32_LocalTime WMI sınıfını kullanarak, belirli bir bilgisayardaki 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 yerel olarak kullanabilirsiniz Get-Service . Uzak sistemler için Win32_Service WMI sınıfını kullanabilirsiniz. Select-ObjectSonuçları durum, ad ve DisplayName olarak filtrelemek için de kullanırsanız, çıkış biçimi ile neredeyse aynı olacaktır Get-Service :

Get-CimInstance -ClassName Win32_Service |
    Select-Object -Property Status,Name,DisplayName

Son derece uzun adlara sahip aralıklı hizmetler için adların tam olarak görüntülenmesini sağlamak üzere, Format-Table sütun genişliğini iyileştirmek ve uzun adların kesilmek yerine kaydırılmasına izin vermek Için AutoSize ve Wrap parametreleriyle birlikte kullanmak isteyebilirsiniz:

Get-CimInstance -ClassName Win32_Service |
    Format-Table -Property Status,Name,DisplayName -AutoSize -Wrap