Makineye bir soru sorun
Tek bir dil; hem pencerenin arama kutusunda hem bws list --query içinde. Çıplak bir sözcük adı, görünen adı, hesabı ve başlatma yolunu arar. Bir alan onu daraltır. 21 alan ve aynı metin aracın iki yarısında da aynı anlama gelir.
Gerçek bir soruyu yanıtlayan altı sorgu
Açık olması gereken ve olmayan
start:auto !status:running
Çoğu insanın yazdığı ilk sorgu ve services.msc'nin hiç yanıtlayamadığı.
Dosyası kaybolan hizmetler
file:missing
Diskte olmayan bir yürütülebilir dosyaya işaret eden bir öğe. Genellikle kaydı geride bırakan bir kaldırma.
İmzasız, oturum gürültüsü olmadan
signed:no peruser:no
Kullanıcı başına aileler oturum başına bir kopya yapar ve listeyi neredeyse aynı öğelerle doldurur. Bu, geri kalanı sorar.
Devre dışıyken çalışan
mismatch:running
Birbiriyle uyuşmayan yapılandırma ve durum - yöneticinin hiç başlatmamaya ayarladığı bir öğe, yine de çalışıyor.
Hata ayıklama hakkı isteyen her şey
privilege:SeDebugPrivilege
Bir işlemin diğer herhangi birini açmasına izin veren bir ayrıcalık. Hangi hizmetlerin onu istediğini bilmeye değer.
Aracın okuyamadığı
account:?
Bu oturumun hesabı okuyamadığı öğeler. services.msc'nin soramayacağı bir soru.
Bir sorgu nasıl yazılır
Terimler
- Terimler boşlukla ayrılır ve hepsi eşleşmelidir -
andanahtar sözcüğü yoktur, çünkü başka bir anlama gelemezdi. - Aynı alanın iki kez yazılması tek istisnadır:
status:running status:stoppedikisinden biri demektir, çünkü iki filtreyi işaretlemek bunu yazar. Bir sayı üzerindeki iki sınır yine de daraltır -pid:>1000 pid:<2000ikisi arasındaki aralıktır. - Bir terimin önündeki
!onu olumsuzlar:!status:running.setlocal EnableDelayedExpansioniçeren bir toplu iş dosyasında cmd bu!işaretini tek kelime etmeden yer ve sorgu sessizce başka bir anlama gelir - orada tırnakların içine^!yazın. - Bir alanın içindeki virgül veya demektir:
start:manual,disabled. - Tırnaklar boşluk ya da iki nokta içeren her şeyi korur:
account:"NT SERVICE\McmSvc". - Olduğu gibi yapıştırılan bir yol -
C:\Windows\System32\svchost.exe- aranır, C adlı bir alan olarak okunmaz.
Metin nasıl eşleştirilir
name:spoolonu içeren her şeyle eşleşir - varsayılan budur, çünkü insanlar bir arama kutusundan bunu bekler.name:=spoolertam eşleşmedir.name:spool*joker karakterleri,*ve?, kabul eder.name:/^Sql.*/bir düzenli ifadedir ve eğik çizgilerin içinde düzenli ifadelerin yazıldığı gibi yazılır:\?,\\ve virgül orada ne anlama geliyorsa onu ifade eder. Hiç kapanmayan bir eğik çizgi hatadır - eğik çizginin kendisini aramak için\/yazın ya da tırnak kullanın.- Büyük/küçük harf ASCII dışında da yok sayılır - Lehçe ya da Yunanca bir görünen ad nasıl yazılırsa yazılsın eşleşir.
Her alanın kabul ettiği üç sözcük
any- bir değer var, ne olursa olsunnone- gerçekten hiç değer yok - öğenin değeri yok?- araç bu alanı okuyamadı ya da okumadı; bu,services.msc'nin soramayacağı bir sorudur
Yanlış yazılmış bir değer hatadır, asla boş bir sonuç değildir. status:runing, Did you mean running? yanıtını verir ve 2 koduyla biter. Boş bir liste yanıt gibi görünürdü ve "hiçbir şey eşleşmiyor" ile "yanlış yazdınız" arasındaki fark, temiz bir makine ile hiçbir şeyi kanıtlamayan bir denetim arasındaki farktır. Hiçbir şeyi daraltmayacak bir sorgu komut satırında da reddedilir; böylece bir betik bir yazım hatası yüzünden tüm makine üzerinde işlem yapmaz.
Daha fazla örnek
Her biri pencerenin arama kutusunda ve bws list --query sonrasında aynı çalışır ve her biri buraya yazılmadan önce gerçek bir Windows'ta çalıştırıldı. Ne bulduğu makineye bağlıdır - ve sorunla ilgili bir soruda, boş bir yanıt istediğiniz yanıttır.
Durum ve başlangıç türü
| Sorgu | Ne bulur |
|---|---|
status:stopPending, | Durdurulurken ya da başlatılırken takılmış - ek bileşenin gösterdiği ve asla bitmeyen bekleme. |
start:auto status:stopped trigger:none | Otomatik başlayacak şekilde ayarlı, durmuş ve bir tetikleyici beklemeyen - yeniden başlatmadan sonra okumaya değen kısa liste. |
start:delayed | Otomatik, diğer otomatik öğelerden biraz sonra başlatılan. |
start:manual, | Açılışta hiçbir şey onu başlatmadığı halde çalışan - biri istedi, bir tetikleyici başlattı ya da birisi başlattı. |
Hesaplar
| Sorgu | Ne bulur |
|---|---|
account:localsystem !publisher:microsoft | En güçlü hesap olan LocalSystem olarak, Microsoft'un imzalamadığı bir dosyadan çalışan. Yayımcı sorgusu imzaları kendiliğinden okur, bu yüzden birkaç saniye sürer. |
!account:localsystem, | Başka herhangi bir hesap altında çalışan hizmetler - sanal bir hesap, yönetilen bir hesap ya da bir kişinin kendi hesabı. |
account:"NT SERVICE" | Hizmetin kendi sanal hesabı. Boşluk yüzünden tırnaklar sözcükleri bir arada tutar. |
Dosyalar ve imzalar
| Sorgu | Ne bulur |
|---|---|
signed:notSigned, | İmza yok, Windows'un güvenmediği bir zincir ya da imzalandıktan sonra değiştirilmiş bir dosya. |
signed:trusted !publisher:microsoft | İmzalı, güvenilir ve Microsoft tarafından olmayan - diğer şirketlerin bu makineye koyduğu yazılım. |
type:driver start:boot, | Windows başlarken yüklenen ve imzasına Windows'un güvenmediği sürücüler. Sağlıklı bir makinede hiç yok. |
!path:C:\Windows type:ownProcess | Dosyası Windows klasörünün dışında duran, kendi işlemi olan bir hizmet. |
path:\AppData\ | Birinin profilinin içinden başlatılan; bir hizmetin beklendiği son yer. |
path:\System32\\ type:ownProcess | Boşluğun önündeki bir ters eğik çizgi boşluğu sözcüğün parçası yapar; bu yüzden ters eğik çizgiyle biten bir yol, ardından başka bir terim geldiğinde iki tane ile yazılır. Sorgunun sonunda bir tane yeter. |
Tetikleyiciler ve bağımlılıklar
| Sorgu | Ne bulur |
|---|---|
trigger:device status:stopped | Bir aygıtın gelmesini bekleyen, yani bir nedenle durmuş. |
trigger:network | Bir ağ uç noktasına - bir bağlantı noktasına, adlandırılmış bir kanala ya da bir RPC arayüzüne - bir istek geldiğinde başlatılan. |
trigger:stop | Bir tetikleyicinin yalnızca başlatmakla kalmayıp durdurabildiği öğeler. |
dependson:Winmgmt | Çalışmak için WMI'ye ihtiyaç duyan öğeler. |
requiredby:Spooler | Print Spooler'ın çalışmak için ihtiyaç duyduğu her şey ve onların da sırayla ihtiyaç duyduğu şeyler. |
Ayrıcalıklar ve işlemler
| Sorgu | Ne bulur |
|---|---|
privilege:SeTcbPrivilege | İşletim sisteminin parçası olarak davranmayı ister. |
privilege:SeImpersonatePrivilege !account:localsystem | LocalSystem dışında bir hesap altında çalışırken bir istemci adına hareket edebilir. |
sidtype:unrestricted | İşleminde kendine ait bir hizmet SID'i taşır; böylece izinler yalnızca onu adlandırabilir. sidtype:restricted, işlemi ayrıca yazma kısıtlı olanları sorar. |
type:sharedProcess status:running | Ortak bir svchost içinde, diğerleriyle birlikte çalışan. |
memory:>200MB | 200 MB'tan fazla kullanan bir işlem. Bir sorgu bunu sorduğunda bellek kendiliğinden okunur. |
pid:1000-2000 | Kimliği 1000 ile 2000 arasında olan bir işlemde. |
Adlar ve metin
| Sorgu | Ne bulur |
|---|---|
spool | Adda, görünen adda, hesapta ve başlatma yolunda aranan çıplak bir sözcük. |
name:=wuauserv | Tam olarak bu ad, onu yalnızca içeren hiçbir şey değil. |
name:win* | win ile başlayan adlar, joker karakterle yazılmış. |
name:/svc$/ | svc ile biten adlar, düzenli ifade olarak yazılmış. |
description:none | Hiç açıklaması olmayan; sürücülerin çoğu böyledir. |
description:? | Windows'un teslim edemediği bir açıklama; genellikle var olmayan bir dil dosyasına işaret ettiği için. |
peruser:template | Windows'un oturum açmış her oturum için kopyaladığı kullanıcı başına şablonlar. |
Her alan
Programın kendisinden üretilir, bu yüzden bu tablo aracın kabul ettiğinden sapamaz. Değer listesi olmayan bir alan metin, sayı ya da boyut alır - üçüncü sütun hangisi olduğunu söyler.
| Alan | Neyi sorar | Değerler |
|---|---|---|
name | hizmet adı, Windows'un onu tanıdığı ad | metin |
display | görünen ad, bu Windows'un yazdığı şekilde | metin |
description | öğenin kendisi hakkında söyledikleri | metin |
type | ne tür bir öğe olduğu | driver, kernelDriver, fileSystemDriver, ownProcess, sharedProcess, unknown |
peruser | Windows'un oturum başına kopyasını oluşturduğu kullanıcı başına ailelerden biri olup olmadığı | yes, no, template, instance |
status | şu anda ne yaptığı | running, stopped, paused, pending, startPending, stopPending, pausePending, continuePending, unknown |
start | yöneticinin bir sonraki açılışta onunla ne yaptığı | automatic, auto, delayed, manual, disabled, boot, system, unknown |
account | çalıştığı hesap, yöneticinin yazdığı şekilde | metin, ör. localsystem |
pid | içinde çalıştığı işlem | bir sayı: 1234, >1000, 100-200 |
trigger | onu başlatan ya da durduran bir koşul | device, ip, domain, firewall, policy, network, custom, state, aggregate, unknown, start, stop |
path | yöneticinin başlattığı komut satırı | metin |
file | çalıştırdığı dosyanın diskte olup olmadığı | present, missing |
signed | Windows'un dosyanın imzası hakkında düşündüğü, iptal denetlenmeden | yes, no, trusted, notSigned, untrustedRoot, expired, revoked, tampered, unknown |
publisher | dosyayı kimin imzaladığı - yalnızca güvenilir bir imzayla kanıtlanır | metin |
privilege | öğenin istediği bir ayrıcalık | metin, ör. SeDebugPrivilege |
dependson | bunun neye ihtiyacı olduğu | bir hizmet adı |
requiredby | bu durursa neyin bozulduğu | bir hizmet adı |
sidtype | hizmet SID türü | unrestricted, restricted, unknown |
sddl | güvenlik tanımlayıcısı, metin olarak | metin |
memory | işleminin ne kullandığı | birimli bir boyut: 500MB, >1GB, 100MB-1GB |
mismatch | birbiriyle uyuşmayan yapılandırma ve durum | stopped, running |
Bilmeye değer iki şey
Bazı alanlar pahalıdır ve onları istemek okumayı açar
İmzalar tüm bir makinede birkaç saniye sürer ve bellek bir ayar değil bir ölçümdür; bu yüzden istenmedikçe bir liste için ikisi de okunmaz. Birinden söz eden bir sorgu o okumayı kendiliğinden açar - signed:no yanında --signatures'ı da hatırlamanız gerekmez. Pencerede imzalarla ilgili bir sorgu, imzalar gelene kadar yanıtın eksik olduğunu söyler; daha kısa bir listeyi yanıtmış gibi göstermek yerine.
Okunamayan bir şeye göre yargılanan sonuç bunu söyler
Öğeler bu oturumun okuyamadığı bir alana göre yargılandıysa sonuç, kaç tane olduğunu söyleyen bir satır taşır - çünkü böyle bir sonuçta öğe eksik olabilir ya da ait olmayanlar bulunabilir. Bu, aracın tamamının uyduğu aynı kuraldır: başarısız bir okuma yanıtta görünür, asla yutulmaz. Bir yayımcı, onu yalnızca sertifika iddia ettiğinde aynı muameleyi görür: trusted dışındaki herhangi bir hükmün yanında ad not verified olarak gösterilir ve publisher: öğeyi kendi satırında belirsiz sayar - böylece !publisher:microsoft, birinin imzalandıktan sonra değiştirdiği bir Microsoft dosyasını tutar.