Friday, November 2, 2012

Certificates for the default management point are not available (internal error)

This error message appears during creation of Task Sequence Media and choosing Bootable media.



The message 4970 appears on SMS_MP_CONTROL_MANAGER:



Severity    Type    Site code    Date / Time    System    Component    Message ID    Description
Error    Detail        11/2/2012 10:42:45 AM    SCCM    SMS_MP_CONTROL_MANAGER    4970    SMS Site Component Manager faild to install component SMS_MP_CONTROL_MANAGER on server SCCM.    The WebDAV server extension is either not installed or not configured properly.  Solution: Make sure WebDAV is installed and enabled. Make sure there is an authoring rule that allow "All users" read access to "All content". Make sure the WebDAV settings "Allow anonymous property queries" and "Allow property queries with infinite depth" are set to "true" and "Allow Custom Properties" is set to false.

Solution for this issue is:
Enable WebDAV on Default Web Site on IIS.


Add Authoring Rule  and configure the settings based in the picture.



Edit WebDAV settings and configure them and click Apply.

Enable Communictaion settings on ConfgMgr Distribution point Properties.
 
http://technet.microsoft.com/en-us/library/cc431377.aspx

Thursday, October 25, 2012

XML file for Migrating “My Network Places” using USMT 4.0

Here is the XML file which allow Migrating “My Network Places” using USMT.
Migration is from Windows XP to Windows 7.
This XML copies content from:

C:\Documents and Settings\%users%\NetHood      to
C:\Users\%users%\AppData\Roaming\Microsoft\Windows\Network Shortcuts

**************************************************************
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test"&gt;
<component type="Documents" context="User">
  <displayName>Moving My Network Places</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">%CSIDL_NETHOOD%\* [*]</pattern>
        </objectSet>
      </include>
      <locationModify script="MigXmlHelper.RelativeMove('%CSIDL_NETHOOD%\','%CSIDL_NETHOOD%\')">
        <objectSet>
          <pattern type="File">%CSIDL_NETHOOD%\* [*]</pattern>
        </objectSet>
      </locationModify>
    </rules>
  </role>
</component>
</migration> 

****************************************************************
Variable CSIDL_NETHOOD in Windows XP is: C:\Documents and Settings\username\NetHoodA path for same variable for Windows Vista or Windows 7 is : C:\Users\Username\AppData\Roaming\Microsoft\Windows\Network Shortcuts



 

Wednesday, October 17, 2012

USMT 4.0, ScanState VBS script

Here is very useful vbs script which execute ScanState on local machine, asking for a user name and location (local or network) share and gives results in HTML.

 Before to start you should specify few variables inside the script.

 '******************************************************************************
Option Explicit 

 REM Define Global Constants 
  CONST NetDomain = "test.local" 
 ' Specifies where to find the USMT executables 
 CONST USMTLocation = "\\srv2003dc1\FolderMig\USMT\X86"  
 ' Specifies where to write the MIG file locally 
 CONST USMTLocalStore = "c:\USMT_MIG\" 
 ' Specifies where to write the MIG file on the network share 
 CONST USMTNetworkStore = "\\srv2003dc1\FolderMig\TEST\" 

 REM Define Global Objects 
 DIM objIE : Set objIE = CreateObject("InternetExplorer.Application") 

 REM Define Global Variables 
 DIM OldComputer   : Set OldComputer = Nothing 
 DIM ReturnCode    : ReturnCode      = "0" 
 DIM UserName      : Set UserName    = Nothing 
 DIM USMTOutput    : Set USMTOutput  = Nothing 
 DIM USMTDestCMD   : USMTDestCMD     = "0" 

  
 CreateDisplayWindow() 
 GetComputerInfo() 
 CreateUSMTFolders() 
 USMTMigrate() 
 GlobalVariableCleanUp() 

 '******************************************************************************  

 Sub CreateDisplayWindow() 

      REM Define Local Constants 
      CONST strComputer = "." 

      REM Define Local Objects 
      DIM objWMIService : Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
      DIM colItems      : Set colItems      = objWMIService.ExecQuery ("Select PelsWidth,PelsHeight From Win32_DisplayConfiguration") 
      DIM objItem       : Set objItem       = Nothing 

      REM Define Local Variables 
      DIM intWidth        : intWidth  = 320 
      DIM intHeight       : intHeight = 240 
      DIM intScreenWidth  : Set intScreenWidth  = Nothing 
      DIM intScreenHeight : Set intScreenHeight = Nothing 

      For Each objItem in colItems 
           intScreenWidth  = objItem.PelsWidth 
           intScreenHeight = objItem.PelsHeight 
      Next 
      objIE.Navigate "about:blank" 
      objIE.Toolbar    = 0 
      objIE.StatusBar  = 0 
      objIE.AddressBar = 0 
      objIE.MenuBar    = 0 
      objIE.Resizable  = 0 
      While objIE.ReadyState <> 4 
           WScript.Sleep 100 
      Wend 
      objIE.Left = (intScreenWidth / 2) - (intWidth / 2) 
      objIE.Top = (intScreenHeight / 2) - (intHeight / 2) 
      objIE.Visible = True 

      REM Cleanup Local Variables 
      Set colItems        = Nothing 
      Set intScreenWidth  = Nothing 
      Set intScreenHeight = Nothing 
      Set intWidth        = Nothing 
      Set intHeight       = Nothing 
      Set objItem         = Nothing 
      Set objWMIService   = Nothing 

 End Sub 

 '****************************************************************************** 

 Sub GetComputerInfo() 

      DIM wshNetwork : Set wshNetwork = WScript.CreateObject( "WScript.Network" )
      OldComputer = wshNetwork.ComputerName

      UserName    = InputBox( "Enter the username:" ) 
      USMTOutput  = MsgBox("Output USMT to Network Location?", 4) 
      If USMTOutput = 6 then 
           USMTOutput = USMTNetworkStore & UserName & "\" & OldComputer 
      Else 
           USMTOutput = USMTLocalStore & UserName & "\" & OldComputer 
      End If 
      objIE.Document.WriteLn "USMT migration of " & UserName & " from " & OldComputer & " to " & USMTOutput &_ 
                                    Chr(32) & "


" 

 End Sub 

 '******************************************************************************

 Sub CreateUSMTFolders() 

      On Error Resume Next 
      REM Define Local Objects 
      DIM FSO    : SET FSO    = CreateObject("Scripting.FileSystemObject") 
      DIM oShell : Set oShell = WScript.CreateObject("WScript.Shell") 

      REM Define Local Variables 
      DIM CreateFolder : CreateFolder = "cmd.exe /c md" & Chr(32) & USMTOutput 
      objIE.Document.WriteLn "Creating USMT Folders....." 

      REM Create the USMT folders if they do not exist 
      If NOT FSO.FolderExists(USMTOutput) then 
           oShell.Run CreateFolder, 7, True 
      End If 

      REM Cleanup Local Variables 
      Set FSO          = Nothing 
      Set CreateFolder = Nothing 
      Set oShell       = Nothing 

 End Sub

 '****************************************************************************** 

 Sub USMTMigrate() 

      REM Define Local Objects 
      DIM oShell : SET oShell = CreateObject("Wscript.Shell") 

      REM Define Local Variables 
      DIM Debug       : Debug       = "13" 
      DIM IgnoreProfs : IgnoreProfs = "cmd.exe /c Set MIG_IGNORE_PROFILE_MISSING=1" 
      DIM USMT        : USMT        = USMTLocation & "\scanstate.exe " & USMTOutput & Chr(32) & "/v:" & Debug & Chr(32) & "/i:" &_ 
                                               USMTLocation & "\Migapp.xml" & Chr(32) & "/i:" &_ 
                                              USMTLocation & "\miguser.xml" & Chr(32)  &_ 
                                              "/progress:" & USMTOutput & "\ScanStateProg.log" & Chr(32) & "/l:" & USMTOutput & "\ScanState.log" &_ 
                                              Chr(32) & "/ui:" & UserName & Chr(32) & "/ue:*\* /c /vsc" 

      objIE.Document.WriteLn "Executing Scanstate on " & OldComputer & "....." 
      ReturnCode = oShell.Run(IgnoreProfs, 7, True) 
      ReturnCode = oShell.Run(USMT, 7, True) 
      If ReturnCode = "0" Then 
           objIE.Document.WriteLn "Success" & "

" 
      else 
           objIE.Document.WriteLn "Failure(" & ReturnCode & ")" & "

" 
      End If 

      REM Cleanup Variables 
      Set Debug       = Nothing 
      SET IgnoreProfs = Nothing 
      SET oShell      = Nothing 
      Set USMT        = Nothing 

 End Sub 

 '****************************************************************************** 

 Sub GlobalVariableCleanUp() 

      Set OldComputer   = Nothing 
      Set objIE         = Nothing 
      Set ReturnCode    = Nothing 
      Set UserName      = Nothing 
      Set USMTOutput    = Nothing 
      Set USMTDestCMD   = Nothing 

 End Sub 

Tuesday, October 16, 2012

IndirectKeyMapper: RegLoadKey ...C:\Documents and Settings\...\NTUSER.DAT) failed

Issue: USMT 4.0 ScanState.exe is stuck in the loop and it takes time to get done. This happens on the machine where the user is not properly removed, it means just User folder is deleted from C:\Documents and Settings but its registry settings still exist.


 In the Scan.log files different warnings show that the process is stuck on user3 which does not exist in C:\Documents and Settings.

To resolve this issue this command should be executed before to start ScanState command:



SET MIG_IGNORE_PROFILE_MISSING=1






Friday, August 5, 2011

Failed to resolve 'SMS_SLP' to IP address from WINS. LSGetAssignedSiteFromSLP : Unable to get the list of SLPs

When you try to assign SCCM Site Code using Discovery button on SCCM Client there are errors in LocationService.log


Failed to resolve 'SMS_SLP' to IP address from WINS.
LSGetAssignedSiteFromSLP : Unable to get the list of SLPs

In order to resolve these errors on domain controller WINS Server should be installed and WINS SLP parameters configured.
Here is the procedure for manually configuring WINS SLP parameters:
On DC where WINS Server already was configured in CMD run netsh.

Type wins and press Enter.
Connect to the WINS server using: server \\ip address where ip address is ip adress of WINS server.
Type add name Name=SMS_SLP endchar=1A rectype=0 ip={ server locator point IP address }
where server locator point IP address is SCCM server's IP address.
To verify that you entered correct data for SLP in your WINS Server type this command:
show name Name=SMS_SLP endchar=1A

Next step is to configure WINS server in your network card TCP/IP properties or if there is DHCP in the network to configure WINS parameter in DHCP server.

Now if you try to add Internet SCCM based client to SCCM site code specifying DNS Sufix and click Discover in few seconds SMS Site Code will be discovered successfully. Same scenario is for workgroup computers belonging to different AD forest and managing by SCCM in other forest. 

Tuesday, August 2, 2011

Remove SCCM Child Primary Site

MTS - Primary Central Site
SEC - Secondary Site
MT1 - Child Primary Site

Pictures below show on SCCM Child Primary console that Computer Collections and Native SCCM Central Site Software Deployment Packages and Advertisements are locked out.


Here is the  procedure how to remove MT1 SCCM Child Primary Site from its MTS SCCM Parent Site.
First step is to delete MT1 child site address from MTS Parent Site via SCCM console.


Next step is to execute Preinst.exe which is located in C:\Program Files (x86)\Microsoft Configuration Manager\bin\i386\00000409 folder:


Executing Preinst /dump shows SCCM sites in SCCM Parent Central Site. The target is to remove MT1 Child Primary Site.

Delete jobs for MT1 site: Preinst /deljob MT1

Delete MT1 site: Preinst /delSITE MT1 MTS

Execute again Preinst /deljob MT1 to delete any job in meantime

Executing again Preinst /dump comand shows that MT1 Child Primary Site has been removed from SCCM Parent site.

On SCCM Child Primary Server Console remove settings from Report to parent site to Central site

Finaly you can see that all locked out items have been removed. All Software deployments packages, Advertisments, OS deployment packages, and Task Sequences have been inherited form SCCM Parent site into SCCM Child Site and can be modified.

Monday, August 1, 2011

Failed to successfully complete HTTP request. (StatusCode at WinHttpQueryHeaders: 404)

When you try to install SCCM Client in ccmsetup.log file on local machine you are getting the following error:

Failed to successfully complete HTTP request. (StatusCode at WinHttpQueryHeaders: 404)
A Fallback Status Point has not been specified.  Message with STATEID='308' will not be sent.


To resolve the issue WebDav on SCCM's IIS WebDav should be configured.
Here is the way how to configure Web DAV settings:
Change the settings as is shown on the picture, Click Apply and after click on WebDAV Authoring Rule.


Configure Authoring Rule as is shown on the picture and click OK.

If you have still the same issue then remove Management Point and install it again.