CIMSession nesnelerini kullanarak uzak bilgisayarlardan depo sınıflarını sorgulama
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