Feb 01

Here are the list of windows update error codes

http://inetexplorer.mvps.org/archive/windows_update_codes.htm

Nov 12

There may be some of the issues which occrus due to process/remove of packages from retired DP’s.

Possible cause: The distribution point might not be accessible to SMS Distribution Manager running on the site server. Solution: If users are currently accessing the package files on the distribution point, disconnect the users first.

Package ID : C010011B

Distribution Point : ["Display=\\IND001\smspkgc$\"]MSWNET:["SMS_SITE=C01"]\\IND001\smspkgc$\
 
Here is the solution for this issue:
 
1.Select * from pkgservers where NALpath =path of NALpath
2.Select * from pkgstatus where pkgserver =Path of Pkgserv
Ex:Path: ["Display=\\IND001\"]MSWNET:["SMS_SITE=C01"]\\IND001\
 
If you find any entries related with above quiries then use the below to delete the same.
 
1.Delete from pkgservers where NALpath=path of NALpath
2.Delete from pkgstatus where pkgserver =Path of Pkgserv
 
Then try restart the SMS Distribution Manager component and monitor the distmgr.log for errors.It will resolve the issue.

If you are smart,you can idenntify the Bad Distribution points in your environment and take necessary actions before it triggers errors in component status node with the follwoing query report easily:

Report:

SELECT a.InstallStatus, a.LastCopied, a.PackageID,  a.ServerNALPath,
a.SiteCode,a.SourceNALPath, a.SourceVersion, a.State, a.SummaryDate
FROM
v_PackageStatusDistPointsSumm a

 WHERE a.ServerNALPath IN (SELECT
ServerNALPath
FROM
v_PackageStatusDistPointsSumm
WHERE ServerNALPath NOT IN (

 SELECT NALPath AS ‘ServerNALPath ‘
from v_SystemResourceList ))

Sep 18

The below scripts works for only Win 2000 and XP not for other operating systems .Here are the simple steps that you can achive this(getting a report for local administrators).*******test it once before taking it to production*****************

1.Go to the X:\smsinboxes\clifiles.src\hinv\sms_def.mof where X is SMS installed Drive,edit SMS_DEF.MOF file (If you have already edited it ,not changes are required .If you are doing it in SCCM environment for the first time, u can still do the same in SMS_DEF.MOF file.)

2.At the very bottom ,Add these lines to the MOF file .

//***********************************Local  admins***********************

   //#pragma namespace (“\\\\.\\root\\cimv2\\sms“)

[ SMS_Report     (TRUE),
  SMS_Group_Name ("LocalAdmins"),
  SMS_Class_ID   ("MICROSOFT|LocalAdmins|1.0")]

class Win32_LocalAdmins : SMS_Class_Template
{
    [SMS_Report(TRUE), key]     
     string   AccountName;
    [SMS_Report(TRUE), key]     
     string    GroupName;
};

3.Keep monitoring the dataldr.log file and u can see the changes that have been done, given below for your reference: SMS_DEF.Mof change detected
Connected to SQL; waiting for Hinv action ID…
Done with wait for Hinv action ID.
Start of cimv2\sms-to-policy conversion
Resetting SMS_Report qualifier to FALSE on all classes and properties in cimv2\sms namespace
Running MOFCOMP on D:\SMS\inboxes\clifiles.src\hinv\sms_def.mof
MOF backed up to D:\SMS\data\hinvarchive\sms_def.mof.bak
End of cimv2\sms-to-policy conversion; returning 0×0 .
4.Create a folder on your media Drivewhich can used to source folder for package creation.

5.Create a MOF file and add the below lines into the file and save it as LocalAdmin.MOF  in the folder that you have created

// Local Administrators
// Requires Localadmins.MOF to be compile
#pragma namespace (“\\\\.\\root\\cimv2“)

 [union, ViewSources{"Select * from Win32_GroupUser where GroupComponent=\"Win32_Group.Domain='BUILTIN',Name='Administrators'\""},
 ViewSpaces{"
\\\\.\\root\\CIMV2"}, Dynamic : ToInstance, provider("MS_VIEW_INSTANCE_PROVIDER")]
 
 class Win32_LocalAdmins
 {
  [PropertySources("PartComponent"), key]  Win32_Account ref AccountName;
  [PropertySources("GroupComponent"), key] Win32_Group ref   GroupName;
 };

6.Crete a New package(ex:Local Admins) with the created folder as source files

7.Create program with a command Line MOFCOMP.EXE LocalAdmin.MOF

8.Create a advertisement and advertise it onto the collection (as per the needs).

9.Move onto the reporting node and create a report with the following Query:

select distinct Name0 as ‘Computer Name’, substring(AccountName0,charindex(‘Domain=’,Accountname0)+8,(charindex(‘Name=’,Accountname0)-charindex(‘Domain=’,Accountname0)-10)) as ‘Domain Name’, substring(AccountName0,len(AccountName0)-charindex(‘”‘,reverse(AccountName0),2)+2,charindex(‘”‘,reverse(AccountName0),2)-2) as ‘User Name’
from v_GS_SYSTEM INNER JOIN v_GS_LocalAdmins ON v_GS_SYSTEM.ResourceID = v_GS_LocalAdmins.ResourceID where (AccountName0 not like ‘%Administrator%’ AND AccountName0 not like ‘%Domain Admins%’)

If your orgamization has admin groups like admin or xxxxxx ,you can add few more lines to the above code like  AccountName0 not like ‘%Admin%’ .Just wait until computers ran the localadmin.MOF file and sends hinv to the siteserver. more information about this can be found here

Key difference between SMS_DEF.MOF and Configuration.mof file:

SMS 2003 has ONE MOF file, the SMS_DEF.MOF. This file contains both the data provider MOF’s and the reporting MOF’s as well handling registering new provider types.

 SCCM 2007 has TWO MOF files, the CONFIGURATION.MOF and SMS_DEF.MOF. The CONFIGURATION.MOF contains the data providers and the SMS_DEF.MOF contains the reporting MOF’s. For more information look at here

Sep 15

Here is the collection that gives you a list of machines with specific staus message ID:

select sys.ResourceID,sys.ResourceType,sys.Name,sys.SMSUniqueIdentifier,sys.ResourceDomainORWorkgroup,sys.Client from sms_r_system as sys inner join SMS_ClientAdvertisementStatus as offer on sys.ResourceID=offer.ResourceID  WHERE AdvertisementID = ‘GSA2035F’ and LastStatusMessageID = 10009

10009  is success, replace advertisementID with your advertisement ID.

With specific State name:

SELECT sys.ResourceID,sys.ResourceType,sys.Name,sys.SMSUniqueIdentifier,sys.ResourceDomainORWorkgroup,sys.Client FROM sms_r_system as sys inner join SMS_ClientAdvertisementStatus as offer on sys.ResourceID=offer.ResourceID WHERE AdvertisementID = ‘KBS00289′ and LastStateName = “Failed”

Below are the list of status messages with the discription:

SMS Status Message ID’s.

10050 Cache too small
10061 Download failed (retrying)
10003 Failed (bad environment)
0 No messages have been received
10054 Not enough space in cache
10045 Not enough space in cache
10034 Program cancelled by user
10022 Program completed successfully (reboot pending)
10009 Program completed with success
10008 Program completed with success
10004 Program failed
10007 Program failed
10006 Program failed
10057 Program failed (download failed – content mismatch)
10053 Program failed (download failed)
10058 Program failed (download/location failure)
10051 Program failed (no content)
10071 Program failed (retrying)
10072 Program failed (retrying)
10056 Program failed (retrying)
10070 Program failed (run time exceeded)
10021 Program failed (unexpected restart)
65535 Program received – no further status
10062 Program retrying (download/location failure)
10060 Program retrying (no content)
10005 Program started
10040 Program will not rerun
10055 Retry (Bad environment)
10037 Waiting for another program
10035 Waiting for content
10036 Waiting for user condition

Aug 09

Class Level Vs Instance Level

You can configure the security rights either the class level or the instance level.

These rights basically helpful in providing the access to the SMS objects like collection,packages,reports and many more too!

class security rights:It applies to the entire class like SMS site.Let say if you have collection called “All windows systems” and inturn it has child collection “All XP”,”All Vista” etc.If you apply class security rights on”All windows systems” it automatically applies to child collections.

Instance security rights:the name itself gives the answer,it is applied to an instance.If you want to provide rights only for “All Vista” no more to “all windows sysemts” and “all XP” .this can be helpful.

these rights might be helpful in giving rights to the helpdesk in terms of either particular collection,reports or packages.

More information can be found here

preload preload preload