Windows hizmetlerini denetleme
Bir denetim, makinede olanların listesi değildir. Makinede olanla olması gerekenin arasındaki farktır - ve düz bir Windows'ta ikinci yarıyı hiçbir şey kaydetmez.
Üç soru ve onları yanıtlayan
Bu makine kurulduğundan beri ne değişti?
Dağıtım sırasında alınmış bir anlık görüntü ve bu akşam makineyle bir karşılaştırma. Yapılandırma, yalnızca başlayan ya da duran şeyden ayrı bildirilir; böylece birinin değiştirdiği tek başlangıç türü, tesadüfen çalışan kırk hizmetin altında gömülmez.
bws snapshot diff baseline.json --live
Test ortamı neden üretimden farklı?
Her birinde bir anlık görüntü alın ve iki dosyayı karşılaştırın - herhangi bir yerde, makinelerin hiçbiri orada olmadan. Dosyalar makinenin adını ve onları alan hesabı taşır.
bws snapshot diff staging.json production.json
Burada olmaması gereken ne var?
Bakmaya değer biçimleri bulan sorgular: yürütülebilir dosyası kaybolmuş bir hizmet, imzasız biri, devre dışıyken çalışan biri, hata ayıklama hakları isteyen biri.
file:missing, signed:no, mismatch:running
Gecelik biçim
# makinenin hizmete girdiği gün
bws snapshot create C:\baselines\web01.json --note "after the build"
# her gece, zamanlanmış bir görevden
bws snapshot diff C:\baselines\web01.json --live --exit-code --json > C:\logs\drift.json
# 0 - yapılandırma sapması yok
# 5 - yapılandırma saptı ve drift.json neyin olduğunu söyler
# 3 - çalıştı ve her şeyi okuyamadı, yani yanıt kısmi
5 çıkış kodu, bunu kimsenin okumadığı bir rapor değil bir denetim yapan şeydir: görev, makine sapana kadar sessizdir ve sapma gecesi birisi uyarılır.
Temel durumu yükseltilmiş bir oturumdan alın. Yönetici hakları olmadan yönetici daha az öğe listeler ve listelediklerinin daha fazlasını reddeder. Anlık görüntü, onu alan hesabın yönetici olup olmadığını kaydeder; böylece karşılaştırma, kimsenin kaldırmadığı öğeleri kaldırılmış olarak bildirmek yerine bunu söyleyebilir - ama yarısı eksik bir makinenin temel durumu, yine de yarısı eksik bir makinenin temel durumudur.
Bir anlık görüntünün kanıt olarak değeri
- Satır başına bir alan içeren bir JSON'dur, yani bir depoya girer ve
git diffonu okur. Bu aracı olmayan bir denetçi dosyayı yine okuyabilir ve bir sürüm denetim sistemi ne zaman sorusunu zaten yanıtlar. - Ek bileşenin hiç göstermediğini içerir: başlatma yolu ve bağımsız değişkenler, dosyanın karması ve imzalayanı, iki yönlü bağımlılıklar, tetikleyiciler, gereken ayrıcalıklar, SID türü ve güvenlik tanımlayıcısı.
- Neyi okuyamadığını söyler. Bu oturumun hakkı olmayan bir alan okunmadı olarak kaydedilir - asla boş olarak değil - böylece sonraki bir karşılaştırma onu sessizce değişmemiş saymak yerine not compared diyebilir.
- Tüm makinenin bir tanımıdır. Ona göre dosyalayın: dizininin zaten sahip olduğu izinlerle yazılır ve araç hiçbir şeyi daraltmaz.