Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WMI, uzak bilgisayarlardaki WMI verilerini yönetmek ve bu verilere erişmek için kullanılabilir. WMI'deki uzak bağlantılar Windows Güvenlik Duvarı ve DCOM ayarlarından etkilenir. Kullanıcı Hesabı Denetimi (UAC) bazı ayarlarda değişiklik yapılmasını da gerektirebilir. Ancak, ayarlarınız doğru olduğunda, uzak sisteme yapılan çağrı yerel WMI çağrısına çok benzer. Ancak farklı kimlik bilgileri, alternatif kimlik doğrulama protokolleri ve diğer güvenlik özelliklerini kullanarak daha karmaşık hale getirebilirsiniz.
Uzak Bağlantı için Bilgisayar Yapılandırma
WMI ile uzak bir sisteme erişebilmeniz için önce erişiminiz olduğunu onaylamak için bazı güvenlik ayarlarını denetlemeniz gerekebilir. Özellikle:
Windows, uzak sistemlerde betiklere erişimi engelleyebilecek bir dizi güvenlik özelliği içerir. Bu nedenle, WMI çağrısı yapmadan önce sisteminizin Active Directory ve Windows Güvenlik Duvarı ayarlarını değiştirmeniz gerekebilir. Daha fazla bilgi için bkz. Uzak WMI Bağlantısı Ayarlama ve Uzak WMI Bağlantısı Sorunlarını Giderme.
Uzak bağlantının çalışması için doğru DCOM ayarlarının etkinleştirilmesi gerekir. DCOM ayarlarını değiştirmek, düşük haklara sahip kullanıcıların uzak bağlantı için bir bilgisayara erişmesine izin verebilir. Daha fazla bilgi için bkz. Uzak WMI Bağlantısını güvence altına alma.
Buna ek olarak, WMI'yi sabit bir bağlantı noktası üzerinden çalıştırmak isteyebileceğiniz bazı durumlar olabilir. Bunu yapmak için ayarlarınızı da değiştirmeniz gerekir. Daha fazla bilgi için bkz. WMIiçin Sabit Bağlantı Noktası Ayarlama .
Uzak Bilgisayara Bağlanma
Wmi ile uzak bir sisteme bağlanmak, sisteme erişmek için uygun izinlere sahip olduğunuzdan ve bağlantınızın düzgün yapılandırıldığından emin olmaktır. Bu iki öğeye sahip olduktan sonra, bağlantının kendisi nispeten basittir. Örneğin, varsayılan güvenlik kimlik bilgilerinizi kullanıyorsanız aşağıdaki kodu kullanarak uzak bir sistemde WMI'ye erişebilirsiniz:
-
PowerShell ile WMI'ya Uzaktan Bağlanma
-
Get-WmiObject gibi çoğu WMI cmdlet'inde ortak olan-ComputerName parametresini kullanın.
$strComputer = "Computer_B" $colSettings = Get-WmiObject Win32_OperatingSystem -ComputerName $strComputer -
VBScript ile WMI'ya Uzaktan Bağlanma
-
GetObjectçağrısında uzak sistemin adını içeren bir takma ad kullanın.
strComputer = "Computer_B" Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colSettings = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") -
C# ile WMI'ya Uzaktan Bağlanma
-
WMI yönetilen arabiriminin geçerli sürümü için (Microsoft.Management.Infrastructure), uzak bir ana bilgisayar bağlantısını temsil etmek için CimSession nesnesini kullanın.
using Microsoft.Management.Infrastructure; ... string Namespace = @"root\cimv2"; string OSQuery = "SELECT * FROM Win32_OperatingSystem"; CimSession mySession = CimSession.Create("Computer_B"); IEnumerable<CimInstance> queryInstance = mySession.QueryInstances(Namespace, "WQL", OSQuery); -
C# ile WMI'ya Uzaktan Bağlanma
-
WMI yönetilen arabiriminin v1 sürümü (System.Management) için, uzak bir ana bilgisayara bağlantıyı temsil etmek için ManagementScope nesnesini kullanın.
using System.Management; ... ManagementScope scope = new ManagementScope("\\\\Computer_B\\root\\cimv2"); scope.Connect(); ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); -
uzak bilgisayarın adını strNetworkResource parametresinde belirtmek için IWbemLocator::ConnectServer yöntemini kullanın.
hres = pLoc->ConnectServer( _bstr_t(L"\\\\COMPUTER_B\\root\\cimv2"), _bstr_t(useToken?NULL:pszName), // User name _bstr_t(useToken?NULL:pszPwd), // User password NULL, // Locale NULL, // Security flags _bstr_t(useNTLM?NULL:pszAuthority),// Authority NULL, // Context object &pSvc // IWbemServices proxy );
Önceki kod örnekleri muhtemelen WMI ile gerçekleştirebileceğiniz en temel uzak bağlantıdır. Örneklerde özellikle aşağıdakiler varsayılır:
- Uzak makinede yöneticisiniz. Kullanıcı Hesabı Denetiminedeniyle, uzak sistemdeki hesabın Yöneticiler grubunda bir etki alanı hesabı olması gerekmektedir. Daha fazla bilgi için bkz. Kullanıcı Hesabı Denetimi ve WMI.
- Geçerli yerel makinenizdeki parola boş değil. Bu temelde, sisteminizde bir parolayla oturum açmış olmanız gereken bir Windows güvenlik gereksinimidir.
- Hem yerel hem de uzak bilgisayarlarınız aynı etki alanındadır. Etki alanı sınırlarını aşmanız gerekiyorsa ek bilgi sağlamanız veya biraz farklı bir programlama modeli kullanmanız gerekir.
- Uzak makineye erişmek için kendi hesabınızı kullanıyorsunuz. Farklı bir hesaba erişmeye çalışıyorsanız ek kimlik bilgileri sağlamanız gerekir. (Geçerli hesabınızdan farklı kimlik bilgileriyle WMI'ye yerel olarak erişim sağlamanın izin verilmediğini unutmayın.)
- her iki bilgisayar da IPv6 çalıştırıyor. WMI, IPv6 çalıştıran bilgisayarlara bağlantıları destekler. Ancak, hem yerel makinenizin hem de "Computer_B" IPv6 çalıştırıyor olmalıdır. İki bilgisayar da IPv4 çalıştırıyor olabilir. Daha fazla bilgi için bkz. WMI IPv6 ve IPv4 Desteği.
- Betiğinizin temsilci seçmesi gerekmez; yani hedeflenen uzak bilgisayar üzerinden ek uzak bilgisayarlara erişmesi gerekmez. Daha fazla bilgi için bkz. WMIile temsilci belirleme.
- Uzak işlem oluşturmak yerine belirli bir çağrı yapmaya çalışıyorsunuz. Daha fazla bilgi için bkz. WMIkullanarak uzaktan İşlem Oluşturma .
Bu kısıtlamalar göz önünde bulundurularak, uzak WMI çağrısı yerel WMI çağrısına çok benzer. Tek fark, uzak sistemin adını belirtmeniz gerektiğidir. Ancak, bu özelliklerin çoğunu değiştirmeyi seçebilirsiniz: farklı kimlik bilgileri kullanma veya çağrınızı üçüncü taraf bir bilgisayar üzerinden yönlendirme veya farklı bir etki alanına erişme.