New-CimInstance cmdlet'i, yerel bilgisayardaki veya uzak bilgisayardaki sınıf tanımını temel alan bir CIM sınıfı örneği oluşturur. Varsayılan olarak, New-CimInstance cmdlet komutu yerel bilgisayarda bir örnek oluşturur.
Örnekler
Örnek 1: CIM sınıfının bir örneğini oluşturma
Bu örnek, bilgisayardaki kök/CIMV2 ad alanında Win32_Environment adlı bir CIM Sınıfı örneği oluşturur.
Sınıf yoksa, özellikler yanlışsa veya sunucu çağrıyı reddederse istemci tarafı doğrulaması yapılmaz. Örnek başarıyla oluşturulursa, cmdlet yeni oluşturulan örneği verir.
Örnek 2: Sınıf şeması kullanarak CIM sınıfının bir örneğini oluşturma
Bu örnek bir CIM sınıf nesnesi alır ve $classadlı bir değişkende depolar. Değişkenin içeriği daha sonra New-CimInstance cmdlet'ine geçirilir.
Bu örnek, örneği sunucudan almadan istemci bilgisayarda Win32_Process adlı bir CIM sınıfının dinamik örneğini oluşturur. Yeni örnek $adeğişkeninde depolanır. Bu dinamik örnek, bu anahtara sahip örnek sunucuda varsa işlemleri gerçekleştirmek için kullanılabilir.
ProcessId Name HandleCount WorkingSetSize VirtualSize
--------- ---- ----------- -------------- -----------
0 System Idle Process 0 8192 8192
Domain :
ReturnValue : 2
User :
PSComputerName :
Get-CimInstance cmdlet'i daha sonra belirli bir tek örneği alır.
Invoke-CimMethod cmdlet, alınan örnekte GetOwner yöntemini çağırır.
Örnek 4: Belirli bir ad alanının CIM sınıfı için örnek oluşturma
Bu örnek, root/somewhere ad alanındaki MSFT_Something adlı bir CIM sınıfının örneğini alır ve onu $classadlı bir değişkende depolar. değişkeni yeni bir CIM örneği oluşturmak ve yeni örnekte istemci tarafı doğrulamaları gerçekleştirmek için New-CimInstance cmdlet'ine geçirilir.
Bu örnekte, ClassName parametresi yerine CimClass parametresi kullanıldığında, Prop1 ve Prop2 gerçekten var olduğunu ve anahtarların doğru şekilde işaretlendiğini doğrular.
ComputerName veya CimSession parametresini ClientOnly parametresiyle kullanamazsınız.
Parametreler
-CimClass
Bir örneğin türünü temsil eden CIM nesne sınıfını belirtir. Bir bilgisayardan sınıf bildirimini almak için Get-CimClass cmdlet'ini kullanın. Bu parametrenin kullanılması daha iyi istemci tarafı şema doğrulamalarıyla sonuçlanır.
Belirtilen CIM oturumunu kullanarak komutunu çalıştırır. CIM oturumunu içeren bir değişken veya New-CimSession veya Get-CimSession cmdlet'leri gibi CIM oturumunu oluşturan veya alan bir komut girin. Daha fazla bilgi için bkz. about_CimSession.
İşlemin örnek oluşturduğu CIM sınıfının adını belirtir. NOT: PowerShell, sınıf adlarının listesini sağlamak için yerel WMI sunucusundan sınıfların listesini aldığından, sınıf listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.
Bu örneğin yalnızca PowerShell'de oluşturulduğunu ve CIM sunucusuna gitmediğini gösterir. Sonraki PowerShell işlemlerinde kullanılmak üzere bellek içi cim örneği oluşturmak için bu parametreyi kullanabilirsiniz.
CIM işlemini çalıştırmak istediğiniz bilgisayarın adını belirtir. Tam olarak belirtilmiş etki alanı adı (FQDN), NetBIOS adı veya IP adresi belirtebilirsiniz.
Bu parametreyi belirtirseniz, cmdlet WSMan protokolunu kullanarak belirtilen bilgisayarda geçici bir oturum oluşturur.
Bu parametreyi belirtmezseniz, cmdlet işlemi Bileşen Nesne Modeli (COM) kullanarak yerel bilgisayarda gerçekleştirir.
Aynı bilgisayarda birden çok işlem gerçekleştiriliyorsa, CIM oturumu kullanarak bağlanmak daha iyi performans sağlar.
Yeni örneğin sınıfının ad alanını belirtir. Varsayılan ad alanı kök/CIMV2 .
PowerShell, ad alanlarının listesini sağlamak üzere yerel WMI sunucusundan bir ad alanı listesi aldığından, ad alanları listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.
Cmdlet'in CIM sunucusundan yanıt bekleme süresini belirtir. Varsayılan olarak, bu parametrenin değeri 0'dır; bu da cmdlet'in sunucu için varsayılan zaman aşımı değerini kullandığı anlamına gelir.
OperationTimeoutSec parametresi 3 dakikalık sağlam bağlantı yeniden deneme zaman aşımından daha küçük bir değere ayarlanırsa, istemci yeniden bağlanamadan önce sunucudaki işlem zaman aşımına uğraması nedeniyle OperationTimeoutSec parametresinin değerinden daha uzun süren ağ hataları kurtarılamaz.
Karma tablo (ad-değer çiftleri) kullanarak CIM örneğinin özelliklerini belirtir.
CimClass parametresini belirtirseniz, belirtilen özelliklerin sunucudaki sınıf bildirimiyle tutarlı olduğundan emin olmak için New-CimInstance cmdlet'i istemcide bir özellik doğrulaması gerçekleştirir.
CimClass parametresi belirtilmezse, özellik doğrulaması sunucuda yapılır.
Kaynak sınıfının veya örneğinin tekdüzen kaynak tanımlayıcısını (URI) belirtir. URI, bir bilgisayardaki diskler veya işlemler gibi belirli bir kaynak türünü tanımlamak için kullanılır.
URI bir ön ek ve kaynağın yolundan oluşur. Örneğin:
Varsayılan olarak, bu parametreyi belirtmezseniz, DMTF standart kaynak URI'sini http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ kullanılır ve sınıf adı eklenir.
ResourceUri yalnızca WSMan protokolü kullanılarak oluşturulan CIM oturumlarıyla veya WSMan kullanarak bir CIM oturumu oluşturan ComputerName parametresi belirtilirken kullanılabilir.
ComputerName parametresini belirtmeden bu parametreyi belirtirseniz veya DCOM protokolü kullanılarak oluşturulan bir CIM oturumu belirtirseniz, DCOM protokolü ResourceUri parametresini desteklemediğinden bir hata alırsınız.
hem ResourceUri parametresi hem de Filter parametresi belirtilirse, Filter parametresi yoksayılır.
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.