Wednesday, January 27, 2010

WMI WMI e Windows Management Instrumentation Kuidas tulla toime WMI-ga

ConfigMgr administraatorina esineb palju WMI-ga seotud probleeme. Probleemid millega sa kokku võid puutuda:

1. ConfigMgr klient ei installeeru
2. ConfigMgr klient ei raporteeri
3. ConfigMgr klienti ei saa maha installeerida

Neid probleeme võib isegi rohkem olla, mis on põhjustatud WMI tõttu. Kõigi nende kolme probleemiga puutud sa varem või hiljem ConfigMgr administraatorina kokku. Selleks, et WMI-ga ennast kodusemalt tunda soovitaksin ma teil lugeda raamatut „Microsoft Windows Scripting with WMI: Self-Paced Learning Guide“. See raamat katab WMI arhitektuurist kuni probleemide lahendamiseni välja. Kui ma kunagi auditeerimise skripti kirjutasin, siis puhtalt tänu sellele raamatule. Raamatuga kaasas ka väga head skriptide näidised.

WMI troubleshooting on lai teema, sest WMI arhitektuur hõlmab mitmeid komponente ja WMI on laialdaselt kasutuses erinevates teenustes ja millel on oma WMI providers. Providers – neid kasutatakse selleks, et pärida informatsiooni ja anda juhiseid WMI-se. Kui sa mõistad hästi WMI infrastruktuuri võtme komponente nagu manageeritud objektid, WMI providers, MOF files, WMI teenused ja WMI repository, siis on sul WMI-ga lihtsam toime tulla. Siin mõned lingid, et asja paremini selgemaks saada:

Understanding WMI
http://technet.microsoft.com/en-us/library/cc180686.aspx
WMI arhitektuur
http://msdn.microsoft.com/en-us/library/aa394553(VS.85).aspx
WMI-ga manageerimine
http://technet.microsoft.com/en-us/library/cc180440.aspx

Kui WMI-d troubleshootida, võime me proovida järgmisi asju:

1. Kui rakendus või skript töötab pooleldi või on aeglane, peame me uurima nendelt lehtedelt lisa infot.
a. Programming issues - http://technet.microsoft.com/en-us/library/cc180705.aspx
b. Ressursside tarbimise küsimused -
http://technet.microsoft.com/en-us/library/cc180241.aspx

2. Kontrolli, et WMI oleks installeeritud. Kontrolli kas %Windir%\System32\WBEM kaust eksisteerib ja et WinMgmt.exe oleks selle sees olemas.

3. Proovi ühendada WMI külge. Kui sa ei saa WMI külge ühendada, siis vaata siit lehelt lisa infot: http://technet.microsoft.com/en-us/library/cc180986.aspx

4. Vaata üle WMI õigused. Vanal versioonil WMI-l Wbemperm.exe ja uuel versioonil WMI control paneeli alt

5. Kasuta WMI sirvimise tööriista, et kontrollida rakekenduse namespace. Sa peaksid saama näha rakenduse WMI klasse ja instance. Kui sa ei leia rakenduse WMI klasse, siis sa peaksid rakenduse MOF failid uuesti kompileerima või rakenduse uuesti reinstalleerima.

6. Kontrolli logisid %Windir%\System32\wbem\logs kaustast. Vaata logide loetelu siit: http://technet.microsoft.com/en-us/library/cc180763.aspx

7. Kui problem on provideri põhine, tuleb registrist lubada vastav logimine: HKLM\Software\Microsoft\WBEM\Providers\Logging

8. Kui on CIM Repository katki, siis kontrolli järgmist lehte:
http://technet.microsoft.com/en-us/library/cc180748.aspx

Näiteks logitakse event viewerisse, et ei suudeta installeerida ConfigMgr klienti. Kui te avate event viewer võite te leida järgmise veateate:


Selle probleemi lahendab, kui te lasete genereerida WMI Repository kausta uuesti. Lisaks veel mõned lingid:
WMI
http://technet.microsoft.com/en-us/library/cc180229.aspx

Kuidas troubleshootida WMI-ga seotud probleeme Windows XP PRO SP2
http://support.microsoft.com/kb/875605

Wednesday, January 20, 2010

Riistvara ja tarkvara inventeerimise probleem Vol2

Olen sattunud jälle ühe tõsise probleemi otsa ja õnneks leidsime sellele ka koos Jim Mu-ga lahenduse. Probleem seisneb selles, et teatud arv kliente ei saada HW ja SW infot serverisse. Arvutist logisid vaadates leidsin ma Inventory.log failist järgmised read:

Failed to add an instance of class CCM_SystemDevices to historical store: 80041001 InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Failed to AddReport() for CCM_SystemDevices class to historical store: 80041001 InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Collection: (80040900) Failed to update Data Store InventoryAgent 18.01.2010
18:18:11 1608 (0x0648)
Raising event:
[SMS_CodePage(775), SMS_LocaleID(1061)]
instance of CLIMSG_HINV_WARNING_QUERYFAILURE
{
ClientID = "GUID:51D5B25E-94C5-4962-982F-51B4931C7468";
Data1 = "SELECT __CLASS, __PATH, __RELPATH, CompatibleIDs, DeviceID, HardwareIDs, IsPnP, Name FROM CCM_SystemDevices";
Data2 = "";
Data3 = "";
DateTime = "20100118161811.000000+000";
InventoryActionID = "{00000000-0000-0000-0000-000000000001}";
MachineName = "Arvuti Nimi";
ProcessID = 1268;
SiteCode = "ETC";
ThreadID = 1608;
};
InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Failed to process instances of CCM_SystemDevices: 80040900 InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Collection: Cycle failed: 80040900 InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Inventory: Collection Task completed in 3.828 seconds InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)
Inventory: Collection task failed to completed successfully. No report will be sent. InventoryAgent 18.01.2010 18:18:11 1608 (0x0648)


Kõige pealt ma mõtlesin, et viga on WMI-s ja proovisin seda parandada aga sellest kasu ei olnud. Tegin ka kliendile uuesti reinstalli aga ikkagi kasu ei olnud. Veateade viitas sellele, et viga on konkreetses CCM_SystemDevices WMI klassis. Kuidas kontrollida kas teatud WMI klass eksisteerib?

Selleks tuleb teha nii:
1. Start -> RUN
2. Wbemtest

Avaneb teile selline aken


3. Vajutada Connect ja ühendada ennast Root\Cimv2\sms
4. Vajuta Enum Classes, sealt valida Recursive ja vajutada OK
5. Otsida nimekirjast CCM_SystemDevices ja kui see eksisteerib on vajalik klass olemas.

Selle probleemi lahendamisega peame punktist 5 edasi liikuma. Kui te olete leidnud vajaliku klassi, siis avage see klass, et vaatada mis seal klassi sees on.


Kui te olete jõudnud vastavale lehele, siis sealt edasi tuleb valida „Instances“.


Sellest nimekirjast tuleb otsida CCM_SystemDevices.Name=“ rida. Igal seadmel peab olema nimi taga. Kui seadmel nime pole on vastava seadmega mingid probleemid. Minu probleemi puhul oli seal üks rida CCM_SystemDevices.Name=“NoKey ja kui ma selle avasin ja pärast kinni panin oli see muutunud CCM_SystemDevices.Name=“Generic Volume“.

Selleks, et aru saada millise seadmega tegu on tuleb avada vastav instance ja sealt valida Show MOF.


Järgnevast aknast leiate te riisvata ID ja selle kaudu saate Device Managerist õige seadme ülese leida. Selleks, et kõiki seadmeid näha tuleb menüüst nähtamatud seadmed ka sisse lülitada. Erinevaid seadmeid kontrollides leidsingi seadme mis vastas sellele riistvara ID-le.

Leidsin sellise seadme koos imelike sümbolitega.


Nende imelike sümbolite tõttu ei saanudki WMI seda lugeda. Probleemi koht oli leitud :). Vastavale seadmele tuleb teha uninstall ja restart. Peale restarti hakkas HW ja SW inventeerimine tööle.

Kui teil on neid arvuteid rohkem, siis peab kirjutama väikse scripti mis aitaks selle seadme eemaldada ja inventeerimise käivitaks. Seadme eemaldamiseks tuleb meile appi selline utiliit nagu „DEVCON“. Täpsem info siit: http://support.microsoft.com/kb/311272 . Selleks, et seadet eemaldada tuleb lihtsalt command linest käima lasta DevCon.exe remove Riisvara ID. Kui seade on eemaldatud siis SMS 2003 Toolkitis on selline vägav script nagu sendsched.vbs. Selleks, et riistvara inventuur command linest käima lasta tuleb kirjutada vastav süntaks: sendsched.vbs {00000000-0000-0000-0000-000000000001}.

Monday, January 18, 2010

SMS 2003 ja ConfigMgr 2007 klientide kloonimine

Kunagi kui ma 2008. a suvel SMS 2003 administraatoriks sain ei osanud/teadnud, et eksisteerivad teatud raportid mida peaks kindlalt kontrollima aeg ajalt. Üks nendest raportitest on: „Computers that may share the same SMS Unique ID“. See raport näitab millistel arvutitel on sama SMS GUID. Minu teada peaks olema kaks varianti kuidas arvuti peaks sinna nimekirja sattuma:

Juhtum 1
Arvuti on domeenis nt. nimega „Klient1“ ja ta muudetakse ära „Klient2

Juhtum 2
Arvutid on valesti kloonitud. Mida see tähendab, et arvutid on valesti kloonitud? See tähendab seda, et arvuti kloon on tehtud koos SMS või ConfigMgr kliendiga ja vastavad toimingut on jäetud tegemata. Selleks on väga hea KB Microsofti lehel: http://support.microsoft.com/kb/828367 mis seletab detailselt lahti mida tuleb teha enne klooni tegemist.

Kui rääkida lähemalt enda „Juhtum kahe“ kogemusest, siis ausalt öeldes ei osanud ma algul arvatagi, et probleem tuleneb sellest ja veel nii lollist asjast.
Jaanuar – Märts 2009 SCCM 2007 juurutamisel avastasin ma sadakond klienti mis ei näidanud seda, et nad infot raporteeriks ja SCCM klient oleks installeeritud. Tegelesin probleemi lahendamisega nädal aega enne kui juhuslikult internetis nägin lauset, et võib-olla on arvutid kloonitud ja asi võib-olla selles. Mõtlesin, et kontrollin igaks juhuks selle variandi ka üle ja kontrollimise käigus avastasin, et asi ongi selles. Siis ma mõtlesin küll, et appikene kes see tore inimene küll on olnud kes nii tegi. Nii, et jah enne kui hakkate kloone tegema kontrollige palun tootja poolseid nõudeid.

Kui sa oled alles alustanud SMS või ConfigMgr administraator, siis kontrolli kuidas ikka teatud inimesed tööd teevad, sest vastasel korral on sul peavalu kaks korda rohkem. SMS/ConfigMgr administraatori töö on täis kohaga töö. Kui asjal silma peal ei hoia, siis võivad asjad päris kiirelt käärima minna ja pärast on hulka raskem tagasi teele saada.

MCTS: Deployment Toolkit 2008, Deployment

Hei,

Eelmine reede sooritasin edukalt MCTS: Deployment Toolkit 2008, Deployment eksami :)



Tuesday, January 12, 2010

SCCM kliendi uninstalli probleem

Kuna ma sain eelmine nädal SCCM MP uuesti tööle avastasin ma 20 arvutit mis ei raporteeri infot serverisse. Esialgu mõtlesin, et installeerin kliendi maha ja installeerin kliendi uuesti aga kliendi maha installeerimine ei õnnestunud üldse. Sain CCMsetup.log logi faili: “ Installation failed with error code 1603“. Internetis ringi vaadates leidsin, et tuleks WMI Repository kaust uuesti genereerida ja see peaks probleemi ära lahendama. Proovisin siis seda varianti aga sellest kasu ei olnud. Mitmeid tunde erinevaid asju proovides, ei leidnud ma asjale head lahendust. Lõpuks ma leidsin MSi foorumist, et võiks proovida CCMCLEAN.exe tööriista SMS 2003 toolkitist – tegelikult pole see ametlikult toetatud SCCM 2007 klientide maha installeerimiseks. Midagi mul kaotada polnud ja proovisin selle tööriista järgi. CCMCLEAN.exe käima lastes sain küll veateate aga kliendi eemaldab ta arvutist suurepäraselt. Peale seda õnnestus klient uuesti installeerida ja maha installeerimine töötas ka. Vahepeal ma olin ka MSi foorumisse töö teinud, et milles võib viga olla ja kuidas ma saaksin selle asja ära lahendada. Saatsin logid MSi mehele ja sain temalt ka täna vastuse. Logidest tuli välja selline asi:

[11:19:48] Getting settings from WMI and storing in C:\WINDOWS\system32\CCM\polmig.mof
MSI (s) (64:9C) [11:19:48:040]: Machine policy value 'DisableRollback' is 0
MSI (s) (64:9C) [11:19:48:040]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
Action ended 11:19:48: CcmMigratePolicySettingsInit. Return value 3.

See viga näitab, et SCCM WMI namespaces on mingid vead sees ja soovitas kasutada CCMCLEAN.exe tööriista SMS 2003 Toolkitist . MSNis lähemalt suheldes sain teada, et tuleb logidest otsida RETURN VALUE 3. SUURED tänud JIM MU-le!

Thursday, January 7, 2010

Riistvara ja tarkvara inventeerimise probleem

Avastasin esmaspäeval, et SCCM andmebaasis ei ole arvutitel tarkvara ja riistvara info uuenenud paari kuu jooksul. Ausalt öeldes, ei teagi täpselt mis oli konkreetne põhjus miks see asi oli katki läinud. Üks arvamus on see, et seda võis teha Windows Server 2008 SP2 või SCCM SP2 install. Mul oli mõned kuud tagasi kahtlus, et midagi on jama ja tegin ka MSi töö, et äkki nad saaksid logidele pilgu peale heita ja vaadata, et kas midagi on katki. Vastuseks sain, et kõik tundub OK olevat ja jätsin asja sinna paika. Miks ma arvasin, et asi on imelik? kuna SCCMi kahte komponenti SMS_SOFTWARE_INVENTORY_PROCESSOR ja SMS_SOFTWARE_METERING_PROCESSOR hakati üsna palju sõnumeid logima – ennem sellist asja ei olnud. Miks esimene kord jäi asi võib-olla kahe silma vahele oli vist, et teatud Managementi Pointi logid olid hoopis teises kohas. SCCM 2007 Unleashed raamatud lugedes sain teada, et minu konfiguratsiooni puhul on Management logid c:\windows\system32\ccm. Põhjus on järgnev: If the MP was created prior to the client being installed. Otherwise they are at C:\Windows\System32\CCM\Logs. Algul proovisin all järgnevaid linke ja tundus, et MP on ikkagi korras.
• http:///sms_mp/.sms_aut?MPCERT
• http:// /sms_mp/.sms_aut?MPLIST
• http:// /sms_mp/.sms_aut?MPLIST1

Probleemiga edasi tegeledes selgus ikkagi, et asi on MP-s. Eemaldasin MP ja jälgisin MP logisid: mpMSI.log ja MPSetup.log, et MP eemaldamisega mingeid probleeme pole. Kui eemaldamine oli OK, siis lisasin MP uuesti ja peale seda hakkas server uuesti SCCM klientide infot uuendama.