WMI'yi sorgulama izni


3

Yönetici haklarını kullanıcılarımızdan kaldıracak bir projem var. Yükseltmeler sırasında kullandığımız bir uygulama WMI'ye karşı bir sorgu çalıştırıyor:

Namespace: root\Microsoft\sqlserver\computermanagement10
Class: sqlserviceadvancedproperty

Kullanıcıdan yönetici haklarını kaldırdığımdan, bu ad alanı ve sınıfı sorgularken herhangi bir veriyi geri döndüremiyor ve böylece appriopriate SQL Server sürümünün kurulu olmadığını söyleyerek kurulum başarısız oluyor.

Ad alanına yukarıdan aşağıya izinler eklemeye ve şanssız olmaya çalıştım. Cihazdaki kullanıcı hesabına yönetici hakları eklersem, sorgu tekrar çalışır.

Test etmek için powershell kullanıyorum:

gwmi -namespace root\Microsoft\sqlserver\computermanagement10 -class sqlserviceadvancedproperty

Bunu yönetici hakları olmadan çalıştırdığımda hata ya da hiçbir şey vermiyor. Sadece null değerini döndürür ve beni komut istemine geri bırakır. Yönetici haklarıyla koştum, bir yığın veri alıyorum.

Belirli bir WMI ad alanını sorgulayabilmek için bir kullanıcının Windows'ta hangi belirli öğelere erişmesi gerektiği konusunda fikri olan var mı?


Söyleyebileceğim kadarıyla, bunlar izin için gerekli yerlerdir: C: \ Windows \ System32 \ WBEM; Microsoft \ WBEM \ HKLM \ SOFTWARE; WMI Yönetimi'nde uygun izinler (wmimgmt.msc). Bu bilgiler OP'ime yardımcı olacak gibi görünmüyor. Yerel bir yönetici olarak giriş yaparken aynı sorgudan hiçbir sonuç alamadığım için diğer nedenlere yaslanıyorum.
lightwing

GPO'mdaki MSSQLSERVER hizmetine izinler eklerken bir hesabı kaçırdığımı farkettim. Yerleşik hesap "SERVICE" hizmete Okuma iznine sahip olmalıdır, aksi takdirde söz konusu WMI sınıfını sorgulayamazsınız. Bir komut satırından sc sdshow mssqlserver yaparsanız, "SERVICE" için SDDL şöyle görünmelidir: (A ;; CCLCSWLOCRRC ;;; SU). SDDL dizeleriyle uğraşmak zorunda kalırsanız, bunları çok yararlı buldum: blogs.msmvps.com/erikr/2007/09/26/… ve msdn.microsoft.com/en-us/library/windows/desktop/ …
lightwing,

Yanıtlar:


2

Söyleyebileceğim kadarıyla, bunlar izin için gerekli yerlerdir:

  • C: \ Windows \ System32 \ WBEM

  • Microsoft \ WBEM \ HKLM \ SOFTWARE

  • WMI Yönetimi içindeki uygun izinler (wmimgmt.msc)

Bu bilgiler OP'ime yardımcı olacak gibi görünmüyor. Bunları doğruladıktan sonra yerel yönetici olarak giriş yaparken aynı sorgudan hiçbir sonuç alamıyorum.

GPO'mdaki MSSQLSERVER hizmetine izinler eklerken bir hesabı kaçırdığımı farkettim. Yerleşik hesap "SERVICE" hizmete Okuma iznine sahip olmalıdır, aksi takdirde söz konusu WMI sınıfını sorgulayamazsınız. Yaparsan

sc sdshow mssqlserver 

komut satırından "SERVICE" için SDDL şöyle görünmelidir:

(A;;CCLCSWLOCRRC;;;SU)

SDDL dizeleriyle başa çıkmak zorunda kalırsanız, bunları çok yardımcı buldum:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.