CIMSession nesnelerini kullanarak uzak bilgisayarlardan depo sınıflarını sorgulama

Tamamlandı

Ortak Bilgi Modeli (CIM) oturumu, uzak bilgisayara bağlantı oluştururken kullanılan kalıcı bir yapılandırma nesnesidir. Bağlantı varsayılan olarak WS-MAN kullanır, ancak DCOM protokolunu belirtebilirsiniz. Bir oturum oluşturulduktan sonra, bu bilgisayarı birden çok sorgu işlemek için kullanabilirsiniz. Tüm yapılandırma seçenekleri oturumda yer aldığı için bu işlem bağlantıyı basitleştirir. CIM oturumu, geçici bir bağlantı için kullanılamayabilecek bağlantı seçeneklerini belirtmenize de olanak tanır.

Oturum nesneleri oluşturma

Oturum oluşturduğunuzda, daha sonra başvurmak için bir değişkende depolamanız gerekir. Oturum oluşturmak ve bunu bir değişkende depolamak için temel söz dizimi şöyledir:

$s = New-CimSession -ComputerName LON-DC1

Aynı anda birden çok oturum oluşturabilirsiniz:

$sessions = New-CimSession -ComputerName LON-CL1,LON-DC1

Oturum oluşturduğunuzda PowerShell bağlantıyı hemen kurmaz. Bir cmdlet CIM oturumunu kullandığında, PowerShell belirtilen bilgisayara bağlanır ve cmdlet tamamlandığında PowerShell bağlantıyı sonlandırır.

Dekont

Bazı durumlarda, uzaktan bağlantı için CIM oturumları yerine PowerShell uzaktan iletişimini kullanmak yararlı olabilir. PowerShell uzaktan iletişim uzak bilgisayara bir bağlantı açar ve açıkça kapatılana kadar açık tutar. Bir bilgisayarda birden çok sorgu çalıştırıyorsanız bu, performansı artırabilir.

Oturumları kullanma

Oturumu bir değişkende depoladıktan sonra , -CimSession parametresini kullanarak CIM cmdlet'leri ile başvurursunuz. Aşağıdaki örnekte birden çok oturum içeren bir değişken kullanılır:

Get-CimInstance -CimSession $sessions -ClassName Win32_OperatingSystem

Oturumların etki alanı ortamında, aynı etki alanındaki veya güvenen etki alanlarındaki bilgisayarlar arasında en iyi şekilde çalışacak şekilde tasarlandığını unutmayın. Etki alanı olmayan bir bilgisayarda veya güvenilmeyen bir etki alanındaki bir bilgisayarda oturum oluşturmanız gerekiyorsa, ek yapılandırma yapmanız gerekir. "Windows PowerShell ile uzak bilgisayarları Yönetici" modülünde bu yapılandırma hakkında daha fazla bilgi edineceksiniz.

Dekont

Get-SmbShare gibi bazı cmdlet'ler için yardım bilgileri, -CimSession parametresini desteklediklerini belirtir. Bu komutlar CIM'yi dahili olarak kullanır. Uzak bir bilgisayarı sorgulamak için bu komutları kullandığınızda, var olan bir oturumu kullanarak bağlanmak için -CimSession parametresine bir CIM oturum nesnesi sağlayabilirsiniz.

Oturum seçeneklerini yapılandırma

Oturum seçeneği nesnesi, bir oturum için birçok ayar belirtmenize olanak tanır. Yeni bir oturum oluşturduğunuzda, oturumu yapılandırmak için oturum seçeneği nesnesini belirtirsiniz. Aşağıdaki örnek, WS-MAN yerine DCOM kullanarak bir oturum oluşturur:

$opt = New-CimSessionOption -Protocol Dcom
$DcomSession = New-CimSession -ComputerName LON-DC1 -SessionOption $opt
Get-CimInstance -ClassName Win32_BIOS -CimSession $DcomSession

Yukarıdaki koddaki ilk satır, bağlantı için DCOM protokolunun kullanılması gerektiğini belirten bir oturum seçeneği nesnesi oluşturur. İkinci satır, bu oturum seçeneği nesnesini kullanarak yeni bir oturum oluşturur ve bunu bir değişkende depolar. Son satır, oturumda tanımlanan uzak bilgisayarı sorgulamak ve istenen bilgileri döndürmek için oturumu kullanır.

Oturumlar kaldırılıyor

Oturum oluşturduktan sonra, bu oturum bellekte kalır ve PowerShell örneği kapatılana kadar kullanılabilir. Remove-CimSession cmdlet'ini kullanarak oturumları el ile kaldırabilirsiniz. Aşağıdaki örnek, bir değişkende bulunan bir veya daha fazla oturumu kaldırır:

$sessions | Remove-CimSession

Belirli bir uzak bilgisayarın oturumlarını kaldırmak için, aşağıdaki örnekte gösterildiği gibi bu bilgisayarın oturumlarını sorgulayabilir ve ardından kaldırabilirsiniz:

Get-CimSession -ComputerName LON-DC1 | Remove-CimSession

Tüm oturumları kaldırmak için aşağıdaki komutu çalıştırın:

Get-CimSession | Remove-CimSession