• Troubleshooting SCCM Part VII .......... OSD .... Part II

    Part II : From windows PE to Full Blown OS

    Once the client boots to PXE  (which we have explained in Part I ) the clients goes to the management point and get the list of policy.

    If any Mandatory (required) deployment then it will go ahead with that else if it is available deployment it will show you the List of advertisement.

     From the WindowsPE and  before HDD format the sequence of events is logged in SMSTS.log in the location   x:\windows\temp\smstslog\smsts.log

      

     The snippet below shows which policy are retrieved which policy is downloaded and from where.  SMSTS.log are usually pretty big.

    I will be pointing only the required lines rest I will attach in a ZIP file which you can look in detail.

    Preparing Policy Assignment Request. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Setting transport. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Setting site code = LAB. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Setting client ID = 0496841d-c8ba-4215-bc34-94da8ad4cd12. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
       Setting site signing Certificate. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Setting SiteSigningCertificateContext TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Executing Policy Assignment Request. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Sending RequestAssignments TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Setting message signatures. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Setting the authenticator. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    CLibSMSMessageWinHttpTransport::Send: URL: CM2012SP1.sudilab.com:80  CCM_POST /ccm_system/request TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Request was succesful. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    ::DecompressBuffer(65536) TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Decompression (zlib) succeeded: original size 25716, uncompressed size 120828. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Request client ID: 0496841d-c8ba-4215-bc34-94da8ad4cd12 TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Response client ID: 0496841d-c8ba-4215-bc34-94da8ad4cd12 TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Retrieving Policy Assignments: TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment {42a5d36c-1a04-4171-a34a-7d1ba6896d49}. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment {6d4fd9bd-f9a8-4225-bd76-84e25e99ea39}. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment {4bf211e4-461e-495c-aae1-cf47a73b95b2}. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
       
         ...........................

         ..............................    

        Processing Policy Assignment {adcfd522-f142-4aad-becc-a591eea01bd1}. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment LAB20000-LAB00003-3B5BFFE2. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment SRC10000. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment DEP-LAB20002-LAB00002-6F6BCC28. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment DEP-LAB20002-LAB00004-6F6BCC28. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Processing Policy Assignment DEP-LAB20002-LAB0000A-6F6BCC28. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Successfully read 43 policy assignments. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Downloading policy body LAB20002-LAB0000B-6F6BCC28. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Preparing Policy Body Request. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Setting transport. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
        Setting policy location = http://<mp>/SMS_MP/.sms_pol?LAB20002-LAB0000B-6F6BCC28.1_00. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Executing Policy Body Request. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    CLibSMSMessageWinHttpTransport::Send: URL: CM2012SP1.sudilab.com:80  GET /SMS_MP/.sms_pol?LAB20002-LAB0000B-6F6BCC28.1_00 TSPxe 20-09-2013 18:53:22 1244 (0x04DC)
    Request was succesful. TSPxe 20-09-2013 18:53:22 1244 (0x04DC)

     

     You would also see the Network account policy which will be used to contact DP also being downloaded and evaluated

     

    Reading Policy Body. TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Parsing Policy Body. TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Found NetworkAccessUsername/NetworkAccessPassword from NAAConfig CCM_NetworkAccessAccount TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Network Access Account has a non-empty value TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Getting local network information. TSPxe 20-09-2013 19:01:48 1336 (0x0538)

    It will then check for all the content location for reference package you would find multiple occurrence of location request as below related to content reply .

    If any issues with content lookup the TS would fail here and in such situations you would need to check the packages\application\boot images\OS image etc is distributed the DP which the client is assigned to.

     Request was succesful. TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    ::DecompressBuffer(65536) TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Decompression (zlib) succeeded: original size 547, uncompressed size 1690. TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Location Reply: <ContentLocationReply SchemaVersion="1.00"><ContentInfo PackageFlags="1024"><ContentHashValues/></ContentInfo><Sites><Site><MPSite SiteCode="LAB" MasterSiteCode="LAB" SiteLocality="LOCAL" IISPreferedPort="80" IISSSLPreferedPort="443"/><LocationRecords><LocationRecord><URL Name="http://CM2012SP1.sudilab.com/SMS_DP_SMSPKG$/LAB00004" Signature="http://CM2012SP1.sudilab.com/SMS_DP_SMSSIG$/LAB00004"/><ADSite Name="Default-First-Site-Name"/><IPSubnets><IPSubnet Address="192.168.1.0"/><IPSubnet Address=""/></IPSubnets><Metric Value=""/><Version>7804</Version><Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"/></Capabilities><ServerRemoteName>CM2012SP1.sudilab.com</ServerRemoteName><DPType>SERVER</DPType><Windows Trust="0"/><Locality>LOCAL</Locality></LocationRecord></LocationRecords></Site></Sites></ContentLocationReply> TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    MCS server:  TSPxe 20-09-2013 19:01:48 1336 (0x0538)
    Found location: http://CM2012SP1.sudilab.com/SMS_DP_SMSPKG$/LAB00004 TSPxe 20-09-2013 19:01:48 1336 (0x0538)

    Till this time TSPxe will be component in questions and once this is completed the Tasksequence is then read and parsed.

    Then the Tasksequence starts performing one by one. Here on TSMager component will come in to action. This is the TS I have used which is a very basic one


    Parsing group node: Install Operating System TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Restart in Windows PE TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Partition Disk 0 - BIOS TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Partition Disk 0 - UEFI TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Pre-provision BitLocker TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Apply Operating System TSManager 20-09-2013 19:01:48 732 (0x02DC)
    Parsing step node: Apply Windows Settings TSManager 20-09-2013 19:01:48 732 (0x02DC)

     Then you see the Tasksequence steps being executed

     

    Start executing the command line: osddiskpart.exe TSManager 20-09-2013 19:01:49 732 (0x02DC)
    !--------------------------------------------------------------------------------------------! TSManager 20-09-2013 19:01:49 732 (0x02DC)
    Expand a string: WinPE TSManager 20-09-2013 19:01:49 732 (0x02DC)
    Executing command line: osddiskpart.exe TSManager 20-09-2013 19:01:49 732 (0x02DC)
    ==============================[ OSDDiskPart.exe ]============================== OSDDiskPart 20-09-2013 19:01:49 852 (0x0354)
    Command line: "osddiskpart.exe" OSDDiskPart 20-09-2013 19:01:49 852 (0x0354)
    Succeeded loading resource DLL 'X:\sms\bin\i386\1033\TSRES.DLL' OSDDiskPart 20-09-2013 19:01:49 852 (0x0354)
    Reading partition size info for partition 0 OSDDiskPart 20-09-2013 19:01:49 852 (0x0354)
    Remaining size before partition: 136358691840 OSDDiskPart 20-09-2013 19:01:49 852 (0x0354)
    .............

    ............

    OSDDiskPart.exe completed successfully OSDDiskPart 20-09-2013 19:02:04 852 (0x0354)
    Process completed with exit code 0 TSManager 20-09-2013 19:02:04 732 (0x02DC)
    !--------------------------------------------------------------------------------------------! TSManager 20-09-2013 19:02:04 732 (0x02DC)
    Successfully completed the action (Partition Disk 0 - BIOS) with the exit win32 code 0 TSManager 20-09-2013 19:02:04 732 (0x02DC)

     If you filter with Successfully completed the action you can get which all completed and if any steps fails you could check the error accordingly and then troubleshoot.

    Each step does different things to know in detail please check the article http://technet.microsoft.com/en-us/library/hh846237.aspx

     

    Successfully completed the action (Partition Disk 0 - BIOS) with the exit win32 code 0 TSManager 20-09-2013 19:02:04 732 (0x02DC)
    Successfully completed the action (Pre-provision BitLocker) with the exit win32 code 0 TSManager 20-09-2013 19:02:05 732 (0x02DC)
    Successfully completed the action (Apply Operating System) with the exit win32 code 0 TSManager 20-09-2013 19:15:45 732 (0x02DC)
    Successfully completed the action (Apply Windows Settings) with the exit win32 code 0 TSManager 20-09-2013 19:15:46 732 (0x02DC)
    Successfully completed the action (Apply Network Settings) with the exit win32 code 0 TSManager 20-09-2013 19:15:46 732 (0x02DC)
    Successfully completed the action (Apply Device Drivers) with the exit win32 code 0 TSManager 20-09-2013 19:18:15 732 (0x02DC)
    Successfully completed the action (Setup Windows and Configuration Manager) with the exit win32 code 0 TSManager 20-09-2013 19:20:36 732 (0x02DC)

     

     Once these steps are completed the windows PE phase get finished and it will boot to OS which we had applied

     

    Save the current environment block TSManager 20-09-2013 19:20:41 732 (0x02DC)
    Expand a string: %_SMSTSMDataPath%\Logs TSManager 20-09-2013 19:20:41 732 (0x02DC)
    Current operating system is Windows PE. Computer will automatically rebooted when the process exits. TSManager 20-09-2013 19:21:11 732 (0x02DC)
    The action (Setup Windows and Configuration Manager) initiated a reboot request TSManager 20-09-2013 19:21:11 732 (0x02DC)

     

    You will also find the information from windows PE load to format of the disk in the SMSTS.log located at x:\smstslog\smsts.log.

    Now since we have drive created and OS applied c:\_SMSTaskSequence\ which will be used as a working directory for the Tasksequence and once it is completed this will be deleted. Presence of this folder after the Tasksequence itself is a indication that TS did not complete fine.

    In the windowsPE phase what ever you have in X:\  drive smsts.log will also be there in c:\_SMSTaskSequence\Logs\Smstslog\smsts.log.

    Once the system boot to complete OS the X:\ data will no longer be available so you would need to grab logs before the reboot.

    You can use this http://blogs.technet.com/b/sudheesn/archive/2010/03/09/how-to-get-the-related-logs-for-troubleshooting-operating-system-deployment.aspx For 2012 only the change is the location in boot image properties rest everything is the same.

    Now once the system boots to full OS it will configure the OS, drivers and then install the client. In winpe only download happens till the client is installed you will find the logs in c:\_SMSTaskSequence\Logs\Smstslog\smsts.log and then it will continue through the Tasksequence if any further steps are there.

    Once the client is installed then you will find the logs in the :\windows\ccm\logs\smsts.log in 2012 and in 2007 :\windows\system32\ccm\logs\smsts.log  :\windows\sysWOW64\ccm\logs\smsts.log

     

    As you can make TS of your choice and the failure can happen any where in this it is difficult to explain all possible issues. But if you can read the smsts.log most of the issue can be sorted out as failure of any step is given in detail in the logs. What is important is that you need to find the first step failed as in many cases I had seen people looking at the last error and get misled.

    For OSD issues observation , probing and finding the first major failure is the key. Just what we need to understand that when these basic steps are in place then it is just how the Tasksequence was created can make issues. In various to isolate the issue different trial and error method like disabling few steps or deleting few will make a lot of sense.

    If you think TS as a step by step command thrower and approach the issues things will be simpler. If you have failure when OS is being applied , driver injection etc the other OS logs will be of help.

    This link has a good collection http://technet.microsoft.com/en-us/library/dd744583(v=ws.10).aspx

    I am also attaching a ZIP file with the logs which was collected while preparing this doc. For more details you can refer this.

     

    Hope this helps

    -----------------------------------

    Sudheesh N

     

  • Troubleshooting SCCM Part VII .......... OSD .... Part I

     Part I : PXE boot

    Many have been asking to write a blog on how to tracks the logs for OSD so here it is . It is in two parts.  Part I is PXE boot and Part II is After the Pxe Boot to Full blown OS. Since we are already in 2012 and 2007 has become obsolete, I will be taking 2012 logs to explain

    Before we start troubleshooting OSD with Configuration Manager I would always say it saves a lot of time many times if the pre-requisites are to be checked, Especially if you find client is not PXE booting or if it fails after PXE boots immediately .  

    If the client is not PXE booting checking the SMSPXE.log on the server where you have the WDS and confirm if the WDS is initialized. You could start the WDS service and check the log flow.

     This is how it should be

    • You would see Provider loading
    • It will show you the boot images in the WDS which will be opened ,files extracted and copied to boot folders which constitute the boot files for the WDS
    • Then you will find PXE provider finished loading

     ================= PXE Provider loaded. =====================            SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Machine is running Windows Longhorn. (NTVersion=0X602, ServicePack=0)      SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Cannot read the registry value of MACIgnoreListFile (00000000)        SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    MAC Ignore List Filename in registry is empty  SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Begin validation of Certificate [Thumbprint D04F5BDFFB9390BFEF89053A315F9D700462DAF5] issued to '02d1e460-a438-493c-b6c7-583601b1e087' SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Completed validation of Certificate [Thumbprint D04F5BDFFB9390BFEF89053A315F9D700462DAF5] issued to '02d1e460-a438-493c-b6c7-583601b1e087'           SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    PXEClientKey certificate valid.        SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Initializing PXEPerfObject.               SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Failed to get logging settings for 'ccmperf' from Registry (80070002)                    SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Could not load logging configuration for component ccmperf. Using default values.              SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Client is set to use HTTPS when available. The current state is 224.     SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    CLibSMSMessageWinHttpTransport::Send: URL: CM2012SP1.sudilab.com:80  GET /SMS_MP/.sms_aut?MPKEYINFORMATIONEX                    SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    CLibSMSMessageWinHttpTransport::Send: URL: CM2012SP1.sudilab.com:80  CCM_POST /ccm_system/request     SMSPXE      20-09-2013 23:43:00              7068 (0x1B9C)

    Client lookup reply: <ClientIDReply><Identification Unknown="0" ItemKey="0" ServerName="" ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>

                        SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    PXE::CBootImageInfo::CBootImageInfo: key=   SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    PXE::CBootImageInfo::CBootImageInfo: key=   SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Adding LAB00004.5     SMSPXE      20-09-2013 23:43:00  7068 (0x1B9C)

    Adding LAB00005.3     SMSPXE      20-09-2013 23:43:24  7068 (0x1B9C)

    Found new image LAB00004          SMSPXE      20-09-2013 23:43:45  7068 (0x1B9C)

    Opening image file C:\RemoteInstall\SMSImages\LAB00004\boot.LAB00004.wim                   SMSPXE      20-09-2013 23:43:45  7068 (0x1B9C)

    Found Image file: C:\RemoteInstall\SMSImages\LAB00004\boot.LAB00004.wim

     PackageID: LAB00004

     ProductName: Microsoft® Windows® Operating System

     Architecture: 0

     Description: Microsoft Windows PE (x86)

     Version: 

     Creator:

     SystemDir: WINDOWS

                        SMSPXE      20-09-2013 23:43:45  7068 (0x1B9C)

    Closing image file C:\RemoteInstall\SMSImages\LAB00004\boot.LAB00004.wim  SMSPXE      20-09-2013 23:43:45  7068 (0x1B9C)

    Creating BCD store: C:\RemoteInstall\SMSTemp\2013.09.20.23.43.45.01.{C48BA2BD-1E88-443D-9A6C-B06835F1BABF}.boot.bcd                    SMSPXE      20-09-2013 23:43:46  7068 (0x1B9C)

    StoreFilePath: \??\C:\RemoteInstall\SMSTemp\2013.09.20.23.43.45.01.{C48BA2BD-1E88-443D-9A6C-B06835F1BABF}.boot.bcd                    SMSPXE      20-09-2013 23:44:02  7068 (0x1B9C)

    Skipping creation of variables file for image LAB00004     SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\pxeboot.com to install queue     SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\pxeboot.n12 to install queue     SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\bootmgr.exe to install queue      SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\bootmgr.exe has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x86\bootmgr.exe has version info: 6.2.9200.16384               SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\wdsnbp.com to install queue     SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\abortpxe.com to install queue   SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\abortpxe.com to install queue   SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\wdsmgfw.efi to install queue      SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\PXE\wdsmgfw.efi has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x86\wdsmgfw.efi has version info: 6.2.9200.16384               SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\EFI\bootmgfw.efi to install queue      SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\EFI\bootmgfw.efi has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x86\bootmgfw.efi has version info: 6.2.9200.16384              SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segmono_boot.ttf to install queue             SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segmono_boot.ttf->C:\RemoteInstall\Boot\Fonts\segmono_boot.ttf.

                        SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segoe_slboot.ttf to install queue                SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segoe_slboot.ttf->C:\RemoteInstall\Boot\Fonts\segoe_slboot.ttf.

                        SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segoen_slboot.ttf to install queue              SMSPXE                    20-09-2013 23:44:09  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\segoen_slboot.ttf->C:\RemoteInstall\Boot\Fonts\segoen_slboot.ttf.

                        SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\wgl4_boot.ttf to install queue SMSPXE      20-09-2013 23:44:09              7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00004\WINDOWS\Boot\Fonts\wgl4_boot.ttf->C:\RemoteInstall\Boot\Fonts\wgl4_boot.ttf.

                        SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Found new image LAB00005          SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Opening image file C:\RemoteInstall\SMSImages\LAB00005\boot.LAB00005.wim                   SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Found Image file: C:\RemoteInstall\SMSImages\LAB00005\boot.LAB00005.wim

     PackageID: LAB00005

     ProductName: Microsoft® Windows® Operating System

     Architecture: 9

     Description: Microsoft Windows PE (x64)

     Version: 

     Creator:

     SystemDir: WINDOWS

                        SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Closing image file C:\RemoteInstall\SMSImages\LAB00005\boot.LAB00005.wim  SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    Creating BCD store: C:\RemoteInstall\SMSTemp\2013.09.20.23.44.09.02.{B509443D-7FF2-42BD-A182-600F7D65F4BC}.boot.bcd                    SMSPXE      20-09-2013 23:44:09  7068 (0x1B9C)

    StoreFilePath: \??\C:\RemoteInstall\SMSTemp\2013.09.20.23.44.09.02.{B509443D-7FF2-42BD-A182-600F7D65F4BC}.boot.bcd                    SMSPXE      20-09-2013 23:44:26  7068 (0x1B9C)

    Skipping creation of variables file for image LAB00005     SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\wdsnbp.com to install queue     SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\abortpxe.com to install queue   SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\pxeboot.com to install queue     SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\pxeboot.n12 to install queue     SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\bootmgr.exe to install queue      SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\bootmgr.exe has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x64\bootmgr.exe has version info: 6.2.9200.16384               SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\wdsnbp.com to install queue     SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\abortpxe.com to install queue   SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\wdsmgfw.efi to install queue      SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\PXE\wdsmgfw.efi has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x64\wdsmgfw.efi has version info: 6.2.9200.16384               SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\EFI\bootmgfw.efi to install queue      SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    File C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\EFI\bootmgfw.efi has version info: 6.2.9200.16384        SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    File C:\RemoteInstall\SMSBoot\x64\bootmgfw.efi has version info: 6.2.9200.16384              SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segmono_boot.ttf to install queue             SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segmono_boot.ttf->C:\RemoteInstall\Boot\Fonts\segmono_boot.ttf.

                        SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segoe_slboot.ttf to install queue                SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segoe_slboot.ttf->C:\RemoteInstall\Boot\Fonts\segoe_slboot.ttf.

                        SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segoen_slboot.ttf to install queue              SMSPXE                    20-09-2013 23:44:31  7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\segoen_slboot.ttf->C:\RemoteInstall\Boot\Fonts\segoen_slboot.ttf.

                        SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Adding file: C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\wgl4_boot.ttf to install queue SMSPXE      20-09-2013 23:44:31              7068 (0x1B9C)

    Copying font file C:\RemoteInstall\SMSTempBootFiles\LAB00005\WINDOWS\Boot\Fonts\wgl4_boot.ttf->C:\RemoteInstall\Boot\Fonts\wgl4_boot.ttf.

                        SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Begin validation of Certificate [Thumbprint D04F5BDFFB9390BFEF89053A315F9D700462DAF5] issued to '02d1e460-a438-493c-b6c7-583601b1e087' SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    Completed validation of Certificate [Thumbprint D04F5BDFFB9390BFEF89053A315F9D700462DAF5] issued to '02d1e460-a438-493c-b6c7-583601b1e087'           SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    PXEClientKey certificate valid.        SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

    PXE Provider finished loading.       SMSPXE      20-09-2013 23:44:31  7068 (0x1B9C)

     

    If you see errors please act accordingly and make sure that the PXE provider finished loading

    Few pointers

     Once this part is done confirm the following

    1. You have created a Tasksequence and that it has a deployment \ Advertisemnt
    2. Deployment is for the PXE (it can be Madatory (Required) or Available)
    3. Referenced Packages are distributed including the boot images
    4. Network Access account is specified  

     

    Now that we confirmed that the PXE is loaded successfully. Let us now look at the SMSPXE when the client boots. In 2012 PXE message are pretty good , You could see the DHCP packet information.


     

    DHCP message:

     Operation:
    BootRequest (1)

     Hardware Address type: 1

     Hardware Address Length: 6

     Hop Count: 0

     Transaction ID: 05078C5E

     Seconds Since Boot: 4

     Client IP Address: 192.168.001.023

     Your IP Address: 000.000.000.000

     Server IP Address: 000.000.000.000

     Relay Agent IP Address: 000.000.000.000

     Hardware Address: 00:15:5d:8c:07:05:

     Magic Cookie: 63538263

     Options:

        Type = 53 DHCP Message Type: 3=DHCPRequest

        Type = 55 Paramerter Request List:
    01020305060b0c0d0f1011122b363c438081828384858687

        Type = 57 Max DHCP Message Size: 04ec

        Type = 97 UUID:
    00562a3213a8399044918b6846be50c648

        Type = 93 Client system Arch: IA x86 PC

        Type = 94 UNDI: 010201

        Type = 60 ClassIdentifier:
    PXEClient:Arch:00000:UNDI:002001       SMSPXE      21-09-2013 00:09:17  1612 (0x064C)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  GET
    /SMS_MP/.sms_aut?MPKEYINFORMATIONEX                    SMSPXE      21-09-2013 00:09:17  6148 (0x1804)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  CCM_POST
    /ccm_system/request     SMSPXE      21-09-2013 00:09:17              6148 (0x1804)

    Client lookup reply:
    <ClientIDReply><Identification Unknown="0"
    ItemKey="0" ServerName=""
    ServerRemoteName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>

                        SMSPXE      21-09-2013 00:09:17  6148 (0x1804)

    00:15:5D:8C:07:05, 13322A56-39A8-4490-918B-6846BE50C648: device is not in the database.            SMSPXE      21-09-2013 00:09:17              6148 (0x1804)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  GET
    /SMS_MP/.sms_aut?MPKEYINFORMATIONEX                    SMSPXE      21-09-2013 00:09:17  6148 (0x1804)

    Sending StatusMessage                   SMSPXE      21-09-2013 00:09:17  6148
    (0x1804)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  CCM_POST
    /ccm_system/request     SMSPXE      21-09-2013 00:09:17              6148 (0x1804)

    DHCP message:

     Operation:
    BootReply (2)

     Hardware Address type: 1

     Hardware Address Length: 6

     Hop Count: 0

     Transaction ID: 05078C5E

     Seconds Since Boot: 4

     Client IP Address: 192.168.001.023

     Your IP Address: 000.000.000.000

     Server IP Address: 192.168.001.002

     Relay Agent IP Address: 000.000.000.000

     Hardware Address: 00:15:5d:8c:07:05:

     BootFileName: smsboot\x86\wdsnbp.com

     Magic Cookie: 63538263

     Options:

        Type = 53 DHCP Message Type: 5=DHCPAck

        Type = 54 Server idenitifier:
    192.168.001.002

        Type = 97 UUID:
    00562a3213a8399044918b6846be50c648

        Type = 60 ClassIdentifier: PXEClient

        Type = 250
    02010105040000000203020014040200ba0626506c6561736520776169742e20534d53206973206c6f6f6b696e6720666f7220706f6c6963790b0101                    SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    DHCP message:

     Operation:
    BootRequest (1)

     Hardware Address type: 1

     Hardware Address Length: 6

     Hop Count: 0

     Transaction ID: 05078C5E

     Seconds Since Boot: 0

     Client IP Address: 192.168.001.023

     Your IP Address: 000.000.000.000

     Server IP Address: 000.000.000.000

     Relay Agent IP Address: 000.000.000.000

     Hardware Address: 00:15:5d:8c:07:05:

     Magic Cookie: 63538263

     Options:

        Type = 53 DHCP Message Type: 3=DHCPRequest

        Type = 60 ClassIdentifier: PXEClient

        Type = 97 UUID:
    00562a3213a8399044918b6846be50c648

        Type = 93 Client system Arch: IA x86 PC

        Type = 250
    0d0208000e010101020006050400000002ff

        Type = 55 Paramerter Request List: 03013c8081828384858687   SMSPXE      21-09-2013
    00:09:18  1612 (0x064C)

    Getting boot action for unknown machine: item key:  2046820353    SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    CLibSMSMessageWinHttpTransport::Send: URL: CM2012SP1.sudilab.com:80  GET /SMS_MP/.sms_aut?MPKEYINFORMATIONEX                    SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    CLibSMSMessageWinHttpTransport::Send:URL: CM2012SP1.sudilab.com:80  CCM_POST /ccm_system/request     SMSPXE      21-09-2013 00:09:18              6148 (0x1804)

    Client boot action reply:<ClientIDReply><Identification Unknown="0"ItemKey="2046820353" ServerName=""
    ServerRemoteName=""><Machine><ClientID>0496841d-c8ba-4215-bc34-94da8ad4cd12</ClientID><NetbiosName/></Machine></Identification><PXEBootAction
    LastPXEAdvertisementID="" LastPXEAdvertisementTime=""
    OfferID="LAB20002" OfferIDTime="20-09-2013 10:07:00"
    PkgID="LAB0000B" PackageVersion="" PackagePath="http://CM2012SP1.sudilab.com/SMS_DP_SMSPKG$/LAB00004"
    BootImageID="LAB00004" Mandatory="0"/></ClientIDReply>

                        SMSPXE      21-09-2013
    00:09:18  6148 (0x1804)

    00:15:5D:8C:07:05,
    13322A56-39A8-4490-918B-6846BE50C648: found optional advertisement LAB20002            SMSPXE      21-09-2013 00:09:18              6148
    (0x1804)

    Looking for bootImage LAB00004 SMSPXE      21-09-2013 00:09:18  6148
    (0x1804)

    BootImage LAB00004 needs
    to be updated (new packageID=LAB00004) VersionUpdate=true                  SMSPXE      21-09-2013 00:09:18    6148
    (0x1804)

    PXE::CBootImageInfo::CBootImageInfo:
    key=LAB00004     SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    Removing Previous Image
    from cache: LAB00004              SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    Creating BCD store:
    C:\RemoteInstall\SMSTemp\2013.09.21.00.09.18.03.{8E1D5018-7318-4741-B92A-E5B7005E2039}.boot.bcd                    SMSPXE      21-09-2013 00:09:18  6148 (0x1804)

    StoreFilePath:
    \??\C:\RemoteInstall\SMSTemp\2013.09.21.00.09.18.03.{8E1D5018-7318-4741-B92A-E5B7005E2039}.boot.bcd                    SMSPXE      21-09-2013 00:09:29  6148 (0x1804)

    Saving Media Variables to
    "C:\RemoteInstall\SMSTemp\2013.09.21.00.09.34.0001.{8E1D5018-7318-4741-B92A-E5B7005E2039}.boot.var"              SMSPXE      21-09-2013 00:09:34  6148
    (0x1804)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  GET
    /SMS_MP/.sms_aut?MPKEYINFORMATIONEX                    SMSPXE      21-09-2013 00:09:34  6148 (0x1804)

    Sending StatusMessage                   SMSPXE      21-09-2013 00:09:34  6148
    (0x1804)

    CLibSMSMessageWinHttpTransport::Send:
    URL: CM2012SP1.sudilab.com:80  CCM_POST
    /ccm_system/request     SMSPXE      21-09-2013 00:09:34              6148 (0x1804)

    DHCP message:

     Operation:
    BootReply (2)

     Hardware Address
    type: 1

     Hardware Address Length: 6

     Hop Count: 0

     Transaction ID: 05078C5E

     Seconds Since Boot: 0

     Client IP Address: 192.168.001.023

     Your IP Address: 000.000.000.000

     Server IP Address: 192.168.001.002

     Relay Agent IP Address: 000.000.000.000

     Hardware Address: 00:15:5d:8c:07:05:

     BootFileName:
    smsboot\x64\pxeboot.com

     Magic Cookie: 63538263

     Options:

        Type = 53 DHCP Message Type: 5=DHCPAck

        Type = 54 Server idenitifier:
    192.168.001.002

        Type = 97 UUID:
    00562a3213a8399044918b6846be50c648

        Type = 60 ClassIdentifier: PXEClient

        Type = 243
    024530140000000a000000100000000e66000000000000bc093c433d7f061c5fc88a1e181d6b8d0000000000000000000000005bee9d8efa37c0b84fd289dea97339f4833b1cff01515c534d5354656d705c323031332e30392e32312e30302e30392e33342e303030312e7b38453144353031382d37333172

        Type = 252
    5c534d5354656d705c323031332e30392e32312e30302e30392e31382e30332e7b38453144353031382d373331382d343734312d423932412d4535423730303545323033397d2e626f6f742e62636400                    SMSPXE      21-09-2013 00:09:34  6148 (0x1804)

     

    First you would find the PXE client broadcasting. You will find the DHCP request (1). This contains the MAC ID and SMBIOS GUID. Now once this is got the device is checked for its presence in the database so that it knows if it is known client or not. DHCP reply would go with the boot file wdsnbp.com which will be downloaded and architecture detection happens once the same is done then the pxe client will again request to the boot action.  If we have a Mandatory advertisement then it will download PXEBootn12.com else
    if there is no Mandatory then it will download PXEBoot.com

    This checking is done by looking at against the configuration manager DB. In older version SMSPXE used to connect to DB and now it uses Management point to connect to DB and collect this information.

     With Mandatory advertisement \ Deployment which is required

     

     

    Without Mandatory advertisement \ Deployment which is available

     


     This is the usual boot process

     

    1)      A client is directed (by using DHCP Options or the PXE Server response) to download Wdsnbp.com

    2)      Wdsnbp.com validates the DHCP/PXE response packet and proceeds to download PXEBoot.com or PXEBootn12.com.PXEBoot.com requires the client to press the F12 key to initiate PXE boot.

    3)      PXEBoot.com or PXEBootn12.com  downloads Bootmgr.exe and the BCD store. The BCD store must reside in a \Boot directory in the TFTP root folder. Additionally, the BCD store must be called BCD.

    4)      Bootmgr.exe  reads the BCD operating system entries and downloads Boot.sdi and the Windows PE image (Winpe.wim).

    5)      Bootmgr.exe begins booting Windows PE by calling into Winload.exe within the Windows PEimage.

     

    Once this is done you will find   the Configuration Manager screen as shown below



      

    This is the completion of the PXE boot and once done from here on we get rest of information from smsts.log which first gets created in X:\Windows\Temp\SMSTSLog\smsts.log 

     

     Hope this will be helpful.

    Part II will cover from WinPE to full blown OS

    --------------------------------------------------------------------------------

    Sudheesh N

     

  • How to reset the policy or request a Full policy retrieval for a SMS agent

    We have situations where we need to reset the policy and the  policy spy which we use does not work or would not prefer to copy the tool.

    This is a vbscript which we can use. Found it helpful when you want to request a full policy compared to delta policy which usually is
    triggered always (except for the first). 

    '===============================================================================

    'Save this as .VBS file and use Run as Administrator

    'Set oParams.uFlags = 0 for making the next policy request will be for a full policy instead of the change in policy since the last policy request.

    'Set oParams.uFlags = 1 The existing policy will be purged completely.

    'Author: Sudheeesh N

    '-------------------------------------------------------------------------------

    set oCCMNamespace = GetObject("winmgmts:root\ccm")

    Set oInstance = oCCMNamespace.Get("SMS_Client")

    set oParams =
    oInstance.Methods_("ResetPolicy").inParameters.SpawnInstance_()

    oParams.uFlags = 0

    oCCMNamespace.ExecMethod "SMS_Client",
    "ResetPolicy", oParams

    '---------------------------------------------------------------------------------

     

    This posting /Script  is provided "AS IS" with no warranties and confers no rights.

  • Who is using Wmiprvse is it SMS services

    We have lot instances where the issues like CPU spike , memory usage and even some activities are caused by SMS services. In many of these cases  the process in question would be wmiprvse not SMS agent or SMS services  directly.

    Wmiprvse it is not something only which SMS agent host or other services  uses it can be launched by any application who wants to have some operation on WMI

    Now how can we identify which Wmiprvse is used by which process. 

     

    • Go to Start -Run – Wbemtest
    • connect to root\cimv2 namespace and launch the following Query 
    • select * from msft_providers where HostingGroup = "SMS" or HostingGroup = "CCM" 
    • Got two entries and HostProcessIdentifier and note them down

     


     
       
    Now open task manager or run tasklist and try to get the PID of wmiprvse and check if the HostProcessIdentifier we found is the one creating issue.

    This is the best way to identify of the SMS agent host or other service  is the one creating issue or any other application

     
     You can also run  

    select * from msft_providers where HostProcessIdentifier =  <PID of wmiprvse>

     if you know the PID and back track to namespace and find the application as well

     

    Hope this will be helpful

  • SEDO (Serialized Editing of Distributed Objects) ConfigMgr 2012

     SEDO(Serialized Editing of Distributed Objects)

    As global data is replicated everywhere, a user on a primary site could change an object at the same time as a user on the CAS or other primary servers. This is an unavoidable consequence of replicated data. SEDO provides a way to enforce that only a single user can edit an object at any point in time. SEDO does it by using a lock request and release mechanism.

    The process goes like the below in a nutshell…..

    SEDO Lock Acquisition \release Process


    1. Administrator attempts to edit object in Admin Console
    2. Admin Console attempts to open object from Provider for editing
    3. Local site sends SEDO lock request to CAS using SQL Service Broker (SSB) SEDO queue
    4. CAS forwards the SEDO lock request on to the owning site if it does not know who had the lock before. If it knows already, then it will forward SEDO to that site which had the previous lock request.
    5. Owning site\Site which had the previous lock request assigned will issue a SEDO Lock and records it in the SEDO_LockableObjects table.
    6. DRS replicates the change to the SEDO_LockableObjects
    7. Provider reads the obtained lock and allows administrator to edit the object.
    8. Now when finished editing, the site which has the lock releases the lock.

     

     

    You can get the information of the objects in lockstate from this view vSEDO_LockState. If you are concerned about a particular object this is how you can get the information
    For instance, we take a Task Sequence (TS) with ID as ‘PR100001’.

    select Lockstate,Assignedsite,Assigneduser  from dbo.vSEDO_LockState where lockid in (
    select lockid From dbo.SEDO_LockableObjects where objectid in(
    select objectid from dbo.SEDO_LockableObjectCOmponents where componentid
     in( select SEDOcomponentID from SMSpackages where PKGID = 'PR100001')))
     
    Or say if it is a CI item  like an application with Ci_uniqueid  'ScopeId_C83F5B89-111D-4EA7-A4E4-70539294E4D7/Application_7d2683d2-5c0b-4989-b834-d88e581fb9f6/2'

    select Lockstate from dbo.vSEDO_LockState where lockid in (
    select lockid From dbo.SEDO_LockableObjects where objectid in(
    select objectid from dbo.SEDO_LockableObjectCOmponents where componentid
    in( select SEDOcomponentID from CI_configurationitems where CI_uniqueid ='ScopeId_C83F5B89-111D-4EA7-A4E4-70539294E4D7/Application_7d2683d2-5c0b-4989-b834-d88e581fb9f6/2')))

    Now let us go into details of how we can track the SEDO flow when the object ‘PR100001’ whose owner site is PR1 on the hierarchy (shown below) is opened for editing :-

    We can use this query to track the flow from the Vlogs table. Some information will be also available in the SMSProv.log.

    select * from vlogs where procedurename <> 'spDRSSendChangesForGroup' and logtime >= getdate()-1 order by logtime desc

    Scenario 1:
    Opened object PR100001 from PR1 server.You could see that PR1 server forwarding the request to Parent Site CAS, carried by SSB to CAS and CAS assigns the lock and information received back again using SSB.

     

     

    Once we close the object in PR1, it will release the lock promptly as shown below.

     

     

     
    Scenario 2:
    Object opened in PR2 whereas the owner was PR1.

    PR2 request CAS on lock request, goes to the CAS as SSB message, CAS receives and forwards the same to PR1 as it is not the owner of the object, again through SSB message. PR1 receives the request lock the object and send the information to CAS and CAS to the PR1 again through SSB messaging.

     

    Scenario 3:

    PR1 owned object opened by CAS with no lock obtained so far by any site.

    In this flow if the last assigned site was PR2 and when CAS is trying to open, then SEDO request goes to PR2 and not PR1.

     

    Scenario 4:

    PR1 owned object opened by CAS which was already opened for editing in PR2

     

     

    Since this was already opened for editing By PR2 you will find the following information in CAS

    select Lockstate,Assignedsite,Assigneduser  from dbo.vSEDO_LockState where lockid in (

    select lockid From dbo.SEDO_LockableObjects where objectid in(

    select objectid from dbo.SEDO_LockableObjectCOmponents where componentid

     in( select SEDOcomponentID from SMSpackages where PKGID = 'PR100001')))

    Now as CAS knows it was last assigned to PR2, it sends a request to PR2 to see if lock was released and then the PR2 will revert back telling the lock is not released and deny the request which make the CAS to open the object in read only mode.

     

     

    Hope this helps in troubleshooting SEDO issues.

    Sudheesh Narayanaswamy
    Support Escalation Engineer
    Microsoft System Center Support