Eswar Koneti's Blog

All about Configmgr and its connected objects…….

  • About Author
      View eswar koneti's LinkedIn profile
  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 99 other subscribers

  • Awards


  • FaceBook Updates

  • Catagories

  • Meta

  • Copyright!

    All the blog posts in this website are owned by Eswar Koneti and may not be reused in any mode without prior approval of Eswar Koneti. You may quote one paragraph from the blog posts if you link to the original blog post.
    Happy Reading!

Archive for the 'WMI' Category

#SCCM / #Configmgr Script to delete packages from Assigned DPs

Posted by Eswar Koneti on 27th February 2013

Long ago ,written SCCM report to list packages not used for 6 months as part of Package Archival process http://eskonr.com/2012/11/sccm-configmgr-package-archival-process-cleanup-activity/ .This report tells you to take further action to clean or move to Archive folder to wait for some more months before it goes for Deletion.

What next ? Delete these packages from Assigned DPs to get some disk space ?

You may find several scripts to do this task on the internet but, i  find this is easy for me to get this activity done.

Identify list of package which you want to remove ,pipe them to notepad .You can do more customizations if needed.

Script to delete packages from its assigned Distribution Points.

strComputer =inputBox("Please Enter the SMS provider OR Site where the packages are created" , "SCCM Server name")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set packages=fso.OpenTextFile("C:\PACKAGESTODELETE.txt",1,true)
Set objoutputfile=fso.OpenTextFile("C:\DP_results.txt",2,true)

Do While packages.AtEndOfLine <> True
    ‘read the next line
    package = packages.Readline

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\SMS\site_CEN")
if err.number<>0 then
    msgbox "server connection failed"
    wscript.quit
end if
Set colItems = objWMIService.ExecQuery("SELECT * FROM SMS_DistributionPoint where packageid=’" & Package & "’")
For Each objItem in colItems
        ‘Wscript.Echo "ServerNALPath: " & objItem.ServerNALPath
objoutputfile.WriteLine ( package & vbTab & " will be deleteting from" & VBTAB & objItem.ServerNALPath)

objitem.Delete_

If Err.number <> 0 Then

objoutputfile.WriteLine ( "Failed to delete" & vbTab & package & "from" &  vbTab & objItem.ServerNALPath)
      End If
    Next

loop

msgbox "Done"

Note: Please Replace the quotes.

Tags: , , , , ,
Posted in CM2012, ConfigMgr (SCCM), Configmgr2012, Distribution Point, SCCM 2007, SCCM 2012, SCCM Tools, Scripting, Software Distribution, System Center 2012 Configuration Manager, WMI | 1 Comment »

SCCM removal of app-v applications from client machines script based

Posted by Eswar Koneti on 19th June 2012

The standard way to remove Advertised app-v applications from client machines is to set expiration of the advertisement /deletion with setting “remove this package from client when no longer advertised” and it should work though it takes a while but this procedure doesn’t work.

Recently had an issue with App-v Applications(machines having both msi and app due to which some settings may not work ) where in these apps are not removed from client machines though advertisement is “expired” and checked “ Remove this package from client when no longer advertised” from package properties . Also deleted the advertisement to see if the app-v package disappears or not but no result.

Note : Streaming option is not enabled on DP.

Searched everywhere and tried many possibilities to make this work but did not find anything for the root cause.

So came up with simple batch script that checks if the app-v package is available on the machine or not if exist ,it will remove from the cache completely.

If you have advertisement which is still enable and run on the machine,you will be back with app-v application so ensure you expire the advertisement or not to rerun the advertisement on the machine /do not make the computer as member of app-v collection.

You can simply create program with below batch script and advertise onto collection where you don’t want this app to be.

Bold Letters require changes what you need with respect to applications.

REM Script to remove the app-v applications from machine

REM Written by eskonr 19-06-2012

Set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
REG.exe Query %RegQry%  | Find /i "x86"
If %ERRORLEVEL% == 0 (
    GOTO X86
) ELSE (
    GOTO X64
)

:X86

cd "C:\Program Files\Microsoft Application Virtualization Client"

sftmime.exe remove app:"Adobe Reader" /complete

GOTO END

)

:X64

Set RegQry="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\SoftGrid\4.5\Client\Applications\Adobe Reader"
REG.exe Query %RegQry% | Find /i "Adobe Reader"
If %ERRORLEVEL% == 0 (
cd "C:\Program Files (x86)\Microsoft Application Virtualization Client"

sftmime.exe remove app:"Adobe Reader" /complete

GOTO END

)

:END

if you have any other better way to do this or why standard way doesn’t work ,please post your comments.

Hope it helps someone who is having similar issue icon smile SCCM removal of app v applications from client machines script based .

Tags: , , , , , ,
Posted in SCCM 2007, Scripting, Software Distribution, WMI | 3 Comments »

VBScript SCCM Advertisements targeted to machine

Posted by Eswar Koneti on 19th June 2012

was looking at machine to see what advertisements /packages are targeted to sccm client though you can get this information directly from SCCM reports if you have access else wrote a simple script which gives you what packages with program name,Command line used ,ADV ID,Package ID information.

ON ERROR RESUME NEXT
Set fso=CreateObject("scripting.filesystemobject")
‘create text file with list of computers what you need
Set objinputfile=fso.OpenTextFile("computers.txt",1,True)
‘pipe the results into output.txt file
Set objoutputfile=fso.OpenTextFile("Output.txt",2,True)
‘Read the input file until end of line
Do While objinputfile.AtEndOfLine <> True
strcomputer=objinputfile.ReadLine
objoutputfile.WriteLine(strcomputer)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\ccm\Policy\Machine")
Set Colitems = objWMIService.ExecQuery("SELECT * FROM CCM_SoftwareDistribution")
For Each objItem in colItems
objoutputfile.WriteLine("———————————–")
objoutputfile.WriteLine("ADV_AdvertisementID: " & objItem.ADV_AdvertisementID)
objoutputfile.WriteLine("PKG_Name: " & objItem.PKG_Name)
objoutputfile.WriteLine("PKG_PackageID: " & objItem.PKG_PackageID)
next
Loop
msgbox("DONE")

Routine Note: Please change the quotes from the script as blog changes them to Fancy quotes.

Tags: , , , , , , , ,
Posted in SCCM 2007, SCCM 2012, Scripting, Software Distribution, WMI | 2 Comments »

Script to Trigger machine policy agent on multiple machines

Posted by Eswar Koneti on 21st March 2012

Long back,have posted script on how to trigger Machine policy or hardware inventory action on sccm client http://eskonr.com/2011/01/script-to-trigger-sccm-machine-policy-or-hardware-inventory-action-agent-on-sccm-clients/

Here is an updated script which can be run on multiple machines with some changes to the script .

You will need to have list of computers into notepad file into the same path where you save the script.

on error resume next
Dim oFSO, sFile, oFile, sText,Stuff, myFSO, WriteStuff
Set oFSO = CreateObject(“Scripting.FileSystemObject”)
Set myFSO = CreateObject(“Scripting.FileSystemObject”)
Set WriteStuff = myFSO.OpenTextFile(“Output.txt”, 8, True)
sFile = “input.txt”
If oFSO.FileExists(sFile) Then
Set oFile = oFSO.OpenTextFile(sFile, 1)
Do While Not oFile.AtEndOfStream
sText = oFile.ReadLine
If Trim(sText) <> “” Then

Set sho = CreateObject(“WScript.Shell”)
strSystemRoot = sho.expandenvironmentstrings(“%SystemRoot%”)
strCurrentDir = Left(Wscript.ScriptFullName, (InstrRev(Wscript.ScriptFullName, “\”) -1))
Dim oLocator
Set oLocator = CreateObject(“WbemScripting.SWbemLocator”)
Dim oServices
Set oServices = oLocator.ConnectServer( stext, “root\ccm\invagt”)
sInventoryActionID = “{00000000-0000-0000-0000-000000000001}”
oServices.Delete “InventoryActionStatus.InventoryActionID=”"” & sInventoryActionID & “”"”
wscript.sleep 3000
Set cpApplet = CreateObject(“CPAPPLET.CPAppletMgr”)
Set actions = cpApplet.GetClientActions
For Each action In actions
If Instr(action.Name,”Hardware Inventory”) > 0 Then
action.PerformAction
End If
Next
stuff= sText & “item processed”
WriteStuff.WriteLine(Stuff)
End If
Loop
WriteStuff.Close
SET WriteStuff = NOTHING
SET myFSO = NOTHING
oFile.Close
Else
WScript.Echo “File Not Found”
End If

 

since the above script created is to trigger hardware inventory action,You will have all the Actions ID given below for each.

    • Hardware Inventory – 00000000-0000-0000-0000-000000000001
    • Software Inventory – 00000000-0000-0000-0000-000000000002
    • Data Discovery – 00000000-0000-0000-0000-000000000003
    • Machine Policy Assignment Request – 00000000-0000-0000-0000-000000000021
    • Machine Policy Evaluation – 00000000-0000-0000-0000-000000000022
    • Refresh Default Management Point – 00000000-0000-0000-0000-000000000023
    • Refresh Location (AD site or Subnet) – 00000000-0000-0000-0000-000000000024
    • Software Metering Usage Reporting – 00000000-0000-0000-0000-000000000031
    • Source list Update Cycle – 00000000-0000-0000-0000-000000000032
    • Refresh proxy management point – 00000000-0000-0000-0000-000000000037
    • Cleanup policy – 00000000-0000-0000-0000-000000000040
    • Validate assignments – 00000000-0000-0000-0000-000000000042
    • Certificate Maintenance – 00000000-0000-0000-0000-000000000051
    • Branch DP Scheduled Maintenance – 00000000-0000-0000-0000-000000000061
    • Branch DP Provisioning Status Reporting – 00000000-0000-0000-0000-000000000062
    • Software Update Deployment – 00000000-0000-0000-0000-000000000108
    • State Message Upload – 00000000-0000-0000-0000-000000000111
    • State Message Cache Cleanup – 00000000-0000-0000-0000-000000000112
    • Software Update Scan – 00000000-0000-0000-0000-000000000113
    • Software Update Deployment Re-eval – 00000000-0000-0000-0000-000000000114
    • OOBS Discovery – 00000000-0000-0000-0000-000000000120

 

Tags: , , , , , , , , ,
Posted in ConfigMgr (SCCM), Configmgr2012, SCCM 2007, SCCM 2012, Scripting, Software Distribution, WMI | No Comments »

How to Fix WMI issues automatically

Posted by Eswar Koneti on 20th January 2012

While Ago I have posted a solution on how to fix WMI(Windows Management Instrumentation) issues using simple batch script that stops WMI service and recompile all MOF files etc. http://eskonr.com/2009/03/how-to-troubleshoot-the-systems-which-has-wmi-issues-rebuild-wmi-repository/

While working with new windows 7 migration project, we had lot of computers with wmi issue but how to identify which has wmi and fix it automatically. There could be various reasons if configmgr client is not reporting to site server but wmi issue one of major problem .if wmi issue occur, nothing can be performed on configmgr client. No policies, no inventory information nothing will be received or sent to MP.

It would be difficult to identify machines which as WMI corruption so either you can apply wmi script Via GPO to run every time when computer boots up else go with psexec to run the script remotely or different methods which you would prefer.

I come up with simple script that check the functionality of WMI if WMI is working fine, exit the script else repair WMI functionality.

This script you can apply through Logon or make it on schedule basis to run every twice or run once a day through Task Scheduler job on all the machines http://msdn.microsoft.com/en-us/library/windows/desktop/aa383614(v=vs.85).aspx

WMI Isn’t Working! ? http://technet.microsoft.com/en-us/library/ff406382.aspx

Here is out Batch script that check the functionality of wmi using simple wmic command:

wmic computersystem get name

if the the above command gives any output,script exit else repair it.

Here is the complete Batch script :

REM Check if WMI is functioning correctly or not

REM Get computername from WMI

wmic computersystem get name

IF %ERRORLEVEL% EQU 0 goto success

:failure

net stop ccmexec /y

net stop VMAuthdService /y

net stop winmgmt /y

c:

cd %systemroot%\system32\wbem

rd /S /Q repository

regsvr32 /s %systemroot%\system32\scecli.dll

regsvr32 /s %systemroot%\system32\userenv.dll

mofcomp cimwin32.mof

mofcomp cimwin32.mfl

mofcomp rsop.mof

mofcomp rsop.mfl

for /f %%s in (‘dir /b /s *.dll’) do regsvr32 /s %%s

for /f %%s in (‘dir /b *.mof’) do mofcomp %%s

for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s

net start winmgmt

net start VMAuthdService

net start ccmexec

goto end

:success

goto end

:end

Some theory about WMI and how to check if it is working or not.

What is WMI (windows management Instrumentation)?

Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems

WMI can be used in all Windows-based applications, and is most useful in enterprise applications and administrative scripts

For example, you can:

· Start a process on a remote computer.

· Schedule a process to run at specific times on specific days.

· Reboot a computer remotely.

· Get a list of applications installed on a local or remote computer.

· Query the Windows event logs on a local or remote computer.

How to connect to WMI (local or remote computer):

Type wbemtest from Run command

clip image001 thumb How to Fix WMI issues automatically

clip image002 thumb How to Fix WMI issues automatically

Click on Connect

clip image003 thumb How to Fix WMI issues automatically

The Default Name space is root\cimV2 .You have many namespaces available in WMI.

Click on Connect

clip image004 thumb How to Fix WMI issues automatically

Click on Enum Classes

clip image005 thumb How to Fix WMI issues automatically

Select Recursive

clip image006 thumb How to Fix WMI issues automatically

You can see lot of classes available for cimV2 name space. For more information about available classes in WMI namespace called cimV2 ,please look at here http://msdn.microsoft.com/en-us/library/windows/desktop/aa394084(v=vs.85).aspx with its description and objects within it.

Now you can see all the classes available within cimV2 name space.

To know more about what each class contains and its objects with in it

Double click on any class which you want to look at it and click on name which you desire

clip image007 thumb How to Fix WMI issues automatically

Now we will see how to execute to get required information with in WMI:

Go back to namespace called cimV2 shown below :

clip image008 thumb How to Fix WMI issues automatically

Click on Query:

clip image009 thumb How to Fix WMI issues automatically

Click on apply to see the results. You can execute any query which has correct syntax to get the correct information.

How do you run wbemtest on remote computer?

1. To connect remotely using tools like CIM Studio or Wbemtest, you must specify a namespace in the form “\\<machinename>\root\<namespace>”
For example: \\mymachine\root\cimv2 as shown below and perform the steps whatever you need as did above.

2. clip image010 thumb How to Fix WMI issues automatically

How do you check remotely if WMI is working well or not ?

You do it via wbemtest or wmimgmt.msc from run command

clip image011 thumb How to Fix WMI issues automatically

clip image012 thumb How to Fix WMI issues automatically

clip image013 thumb How to Fix WMI issues automatically

clip image015 thumb How to Fix WMI issues automatically

 

clip image017 thumb How to Fix WMI issues automatically

clip image018 thumb How to Fix WMI issues automatically

See the error above. The RPC server is unavailable means something wrong with the computer could be machine doesn’t not exist on the network or name resolution or permission issue etc

If computer is connect successfully and if you look at properties of the computer ,you will see the below screen,

clip image019 thumb How to Fix WMI issues automatically

For more information about WMI Faqs ,please refer this guide http://technet.microsoft.com/en-us/library/ee692772.aspx

Reference Guides on WMI troubleshooting: http://eskonr.com/2009/03/how-to-troubleshoot-the-systems-which-has-wmi-issues-rebuild-wmi-repository/

http://blogs.technet.com/b/configmgrteam/archive/2009/05/08/wmi-troubleshooting-tips.aspx

Reference http://social.technet.microsoft.com/Forums/en-US/configmgradminconsole/thread/a9922b7f-3b81-4b2b-866a-423106b0e9fe

Feel Free to post your comments.

Tags: , , , , , , , , , , , ,
Posted in SCCM 2007, SCCM 2012, Scripting, Trobleshooting Tips, Troubleshooting Issues, WMI | 5 Comments »

SCCM TS VB Script to Uninstall applications

Posted by Eswar Koneti on 2nd September 2011

Recently have a requirement to uninstall all old adobe versions and install the new on.Looking for something which can be done Via but i found the below method is simple that can remove all the older applications and instal the new one(which can be done Via TS by adding two TS actions one with removal of old adobe versions and other for installation of New adobe).

Thought of sharing with you here how to remove different versions of applications at one go. Thanks to john Marcum for providing me the command line.

Here is the simple script that checks if the application is in use or not ,if app is opened ,it will terminate and start the uninstallation .

On Error Resume Next

 Dim WshShell

Set objHOST = CreateObject(“WScript.Shell”)

 strComputer = “.”

Set objWMIService = GetObject(“winmgmts:” _

    & “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2″)

Set colProcessList = objWMIService.ExecQuery _

    (“Select * from Win32_Process Where Name = ‘acroRd32.exe’”)

For Each objProcess in colProcessList

    objProcess.Terminate()

    Exit For

Next

 Set WshShell= CreateObject(“Wscript.Shell”)

WshShell.Run “msiexec /x {AC76BA86-7AD7-1033-7B44-A94000000001} /qn /norestart”,0,true

WshShell.Run “msiexec /x {AC76BA86-7AD7-FFFF-7B44-AA0000000002} /qn /norestart”,0,true

WshShell.Run “msiexec /x {AC76BA86-7AD7-FFFF-7B45-AA0000000002} /qn /norestart”,0,true

If you have multiple versions with different product ID for removal,add all the product ID’s at the end of the above code you know what i mean.

Tags: , , , , ,
Posted in SCCM 2007, SCCM 2012, Scripting, Software Distribution, Task Sequence, WMI | No Comments »

script to trigger Machine policy or Hardware inventory action agent on SCCM clients

Posted by Eswar Koneti on 11th January 2011

There are lot of tools available like SCCM client center or Collection commander or Right Click Tools etc. to trigger SCCM client agent Actions using these tools but the customer environment doesn’t have any of these tools to use and we had a requirement to run the machine policy and other actions items as well.

I have used the below script to run(ex:Machine policy and evaluation cycle or hardware inventory action etc) on a list of computers that you have supplied in notepad.txt using psexec tool.The script reset the hardware inventory action and deletes the instance before running hardware inventory.

What do you require to carry out this task: A Share folder(create one) ,Psexec tool, Vb script(below) and batch script(below).

Open a notepad,copy the below code and save as trigger_policy.vbs.

‘Declare Variables
On Error Resume Next
Set sho = CreateObject(“WScript.Shell”)
strSystemRoot = sho.expandenvironmentstrings(“%SystemRoot%”)
strCurrentDir = Left(Wscript.ScriptFullName, (InstrRev(Wscript.ScriptFullName, “\”) -1))
Get a connection to the “root\ccm\invagt” namespace (where the Inventory agent lives)
Dim oLocator
Set oLocator = CreateObject(“WbemScripting.SWbemLocator”)
Dim oServices
Set oServices = oLocator.ConnectServer( , “root\ccm\invagt”)
‘Reset SMS Hardware Inventory Action to force a full HW Inventory Action
sInventoryActionID = “{00000000-0000-0000-0000-000000000001}”
Delete the specified InventoryActionStatus instance
oServices.Delete “InventoryActionStatus.InventoryActionID=”"” & sInventoryActionID & “”"”
‘Pause 3 seconds To allow the action to complete.
wscript.sleep 3000
‘Run a SMS Hardware Inventory
Set cpApplet = CreateObject(“CPAPPLET.CPAppletMgr”)
Set actions = cpApplet.GetClientActions
For Each action In actions
If Instr(action.Name,”Hardware Inventory”) > 0 Then
action.PerformAction
End If
Next

since the above script you have created is to trigger hardware inventory action,You will have all the Actions ID given below for each.

    • Hardware Inventory – 00000000-0000-0000-0000-000000000001
    • Software Inventory – 00000000-0000-0000-0000-000000000002
    • Data Discovery – 00000000-0000-0000-0000-000000000003
    • Machine Policy Assignment Request – 00000000-0000-0000-0000-000000000021
    • Machine Policy Evaluation – 00000000-0000-0000-0000-000000000022
    • Refresh Default Management Point – 00000000-0000-0000-0000-000000000023
    • Refresh Location (AD site or Subnet) – 00000000-0000-0000-0000-000000000024
    • Software Metering Usage Reporting – 00000000-0000-0000-0000-000000000031
    • Source list Update Cycle – 00000000-0000-0000-0000-000000000032
    • Refresh proxy management point – 00000000-0000-0000-0000-000000000037
    • Cleanup policy – 00000000-0000-0000-0000-000000000040
    • Validate assignments – 00000000-0000-0000-0000-000000000042
    • Certificate Maintenance – 00000000-0000-0000-0000-000000000051
    • Branch DP Scheduled Maintenance – 00000000-0000-0000-0000-000000000061
    • Branch DP Provisioning Status Reporting – 00000000-0000-0000-0000-000000000062
    • Software Update Deployment – 00000000-0000-0000-0000-000000000108
    • State Message Upload – 00000000-0000-0000-0000-000000000111
    • State Message Cache Cleanup – 00000000-0000-0000-0000-000000000112
    • Software Update Scan – 00000000-0000-0000-0000-000000000113
    • Software Update Deployment Re-eval – 00000000-0000-0000-0000-000000000114
    • OOBS Discovery – 00000000-0000-0000-0000-000000000120

You can see all the above actions item IDs from WMI. From Run command,type wbemtest and use the name space as ‘root\CCM\Policy\Machine‘. It list all the classes (Dynamic or Static from WMI Repository).

Again,open notepad and copy the below code into it and save as name.bat

@Echo off
REM Initiating Hardware inventory agent action
cd d:\script
d:
psexec @computers.txt -c \\Servername\actions\trigger_policy.vbs

Exit

 

Now run the batch script which you created above from either command prompt or directly from folder.

Hope it helps someone who doesn’t use the automated tools.

Have blogged the same post on http://wmug.co.uk/blogs/eskonr/archive/2011/01/12/how_2D00_to_2D00_trigger_2D00_sccm_2D00_machine_2D00_policy_2D00_or_2D00_hardware_2D00_inventory_2D00_action_2D00_agent_2D00_on_2D00_remote_2D00_computers.aspx

Tags: , , , , , , , , , , , ,
Posted in SCCM 2007, SCCM 2012, Scripting, Software Distribution, Trobleshooting Tips, Troubleshooting Issues, WMI | 5 Comments »

SCCM Client installation Troubleshooting steps Check list

Posted by Eswar Koneti on 16th November 2010

Seen Lot of questions/helps in many forums on the SCCM client issues like client is not reported to SCCM console ,site code unsuccessful, Client is installed but Console shows NO and many more.

Here is the check list which i have prepared to follow in brief .There may be other issues which are not mentioned here but mostly, issues lies under the below conditions.

There are a variety of Client deployment methods that are available to you when installing the client. Each has its advantages and disadvantages along with the need to meet specific business requirements.

If you choose to go SCCM client push installation method, Ensure you have created Client push installation account which should have Admin rights on the target computer else it may fail .Client push installation Step by Step Guide is here http://technet.microsoft.com/en-us/library/bb632380.aspx and with Screen shots how to configure from Windows-Noob

Once you initiated the Client push installation from SCCM console( right click on computer,say install client etc ),you can start monitoring CCM.log from your <SCCM installation folder:>\Logs. For more info on how SCCM client push installation works,please refer this article for process and troubleshooting .

The procedure is same what ever the installation method you choose.The CCMSETUP.EXE will be downloaded to the system (c:\windows\system32\ccmsetup) and is executed. The ccmsetup.exe reads the manifest file (and also mobileclient.tcf) and fetches the remaining files(prerequisites files listed below ) to continue the client installation.

Some of the components that are used in the client deployment process include the following:

CCMSetup.exe: Used to Install, uninstall and upgrade the SCCM 2007 client using client push installation or manual installation. It is low bandwidth aware and is the single way to launch client deployment. You also do not need to use CCMClean to uninstall the client as the uninstall switch can be used instead.
BITS: BITS 2.0 is required for Windows 2000 clients. BITS 2.5 is used for most of the Windows operating systems with the exception of Windows Vista which uses BITS 3.0.
Note: When installing BITS 2.0 on Windows 2000 SP4 machines, a restart is required. This means that if you do not have BITS 2.0, then ccmsetup will stop the install and wait until the next process of reboot before it starts the next process.
Microsoft Windows Installer v3.1 v2 (KB 893803): Update to all operating systems except Windows Server 2003 SP1 and later
• Windows Update Agent (WUA) version 7.0.6000.363: Used on clients to support detection of applicable updates and deployment
MSXML6.msi – Windows installer script for installing the Core XML Services
MSRDC (Remote Differential Compression): Required for branch DP to support binary differential replication. For more information on binary differential replication, please visit http://technet.microsoft.com/en-us/library/bb693953.aspx .
Regarding windows 2000 clients, they don’t support MSRDC, so Windows 2000 clients cannot be branch DP’s. Windows XP and later will install this utility and the associated windows server code will be used to install the bits.
Wimgapi.msi: Imaging API for custom tools for image management
CCMSetup.msi: Windows installer package for deploying of the SCCM 2007 client using AD GPO. You cannot run CCMSetup.msi to install clients manually.

You can monitor CCMSETUP.LOG ,CLIENTMSI.LOG from your ccmsetup folder. It will take few min to complete the installation .Once you see, client installation succeeded,You may confirm that,installation is done but it doesn’t mean,client is healthy and able to receive policies /send information to Management Point.

Below are the SMS Related services which should (applicability depends on the client perform actions let say BITS is not used when you run the Application from DP) be running on the Client to be healthy all the time.

  1. Automatic Updates
  2. Background intelligence Transfer service
  3. Remote Registry
  4. SMS agent Host
  5. Terminal Services
  6. Windows Installer
  7. Windows Management Instrumentation

To know if the client is healthy and able to send /receive polcicies /able to talk to Management point or not ,there are few Log files which you should look into:

CCMSETUP.LOG—–>Logs the Client installation activities

ClientLocation.log—-> Records site assignment tasks. Can help to troubleshoot scenarios where the client is not assigned to a Configuration Manager 2007 site.

LocationServices.log—> Records attempts to find management points and distribution points.Can help to troubleshoot scenarios where the client cannot find a management point or distribution point.

AND open the configuration manager Applet from control Panel and go to actions tab,check if you are able to if you are able to see more than 5 policy agents displaying or not which means that client is healthy and sent its inventory information to SCCM site server. You should be able to see the Client with SCCM client Installed and assigned Yes

agents thumb SCCM Client installation Troubleshooting steps Check list

more information about SCCM client log files,please refer TechNet

Now its time to do the actual troubleshooting why client is not getting the above policy agents or not reported to SCCM console with Client YES and Installed YES

 

 

1.Check the Firewall Enabled or Disabled if enabled,allow the ports to talk to site server.Guide to add Ports to the firewall to allow the required files or policies to download.

2.Check Boundaries (could be (AD site or IP Range or IP Subnet) of the Agent are specified in the site server

3.Schema extension and ensure attributes published into AD system management container (you can see component status if there are any errors while updating the system Management container with attributes)

4.Check the if there no DNS issue in the client and that client is able to resolve the SCCM server NetBIOS as well as FQDN without any issues.

5. Check if the Client is able to talk to Management Point or not using the following Links.

http://<SCCM_SERVER/SMS_MP/.sms_aut?mplist —-should give you blank page

http://<SCCM_SERVER/SMS_MP/.sms_aut?mpcert——should give you some random numbers

6.Check if WMI is working or not if not try repairing the WMI by stopping WMI service and renaming repository folder (C:\Windows\System32\wbem) and start the service.

If the above test fails make sure that MP is working fine. You can check mpcontrol.log on the site server to find the error and make sure that the same works.

4.Check the Locationservices.log( Finds management points and distribution points) and clientlocation.log( Site assignment tasks) and ClientIDManagerStartup.log(Creates and maintains the client GUID)

If you see anything apart from the above discussed,you may can post the query on SCCM forums also you can post comment if anything missed from above steps.

Tags: , , , ,
Posted in ConfigMgr (SCCM), Remote Control, SCCM 2007, Software Distribution, Trobleshooting Tips, Troubleshooting Issues, Windows, WMI | 10 Comments »

VB Script to change the desktop wall paper

Posted by Eswar Koneti on 23rd June 2010

Below is the script to change your desktop wallpaper. You just need to modify the script to point to the location where the ‘wallpaper is located.

You can then include this script in your Domain’s Group Policy’s login or startup script.

 

‘ —————————-Script to change Desktop Wallpaper—————————————–

dim wshShell
dim sUserName

Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")

Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "C:\Users\eskonr\Pictures\Nice-Windows-7.jpg"

‘ update in registry
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper

‘ let the system know about the change
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

msgbox "done"

 

You will have to change the bold letter (image path) with your image file path.

Tags: , , ,
Posted in Scripting, Windows, WMI | No Comments »

registry-settings-for-not-updating-wsus-clients

Posted by Eswar Koneti on 12th March 2010

If clients are having trouble downloading and installing updates from your SUS or WSUS server, should check a familiar place—the registry. Go to the problematic client PC and follow these steps:

1.     Select Run on the Start menu.

2.     In the Run dialog box, type regedit, then click OK.

3.     In the registry, navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer subkey. Make sure the WUServer subkey points to your SUS or WSUS server and not Microsoft Windows Update.

4.     Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update subkey. Find the AUState entry and note its value. The AUState value can help you determine the problem. Here are the possible values and what they mean:

§  0—initial 24-hour timeout (Automatic Updates doesn’t run until 24 hours after it first detects an Internet connection.)

§  1—waiting for the user to run Automatic Updates

§  2—detection pending

§  3—download pending (Automatic Updates is waiting for the user to accept the predownloaded prompt.)

§  4—download in progress

§  5—install pending

§  6—install complete

§  7—disabled

§  8—reboot pending (Updates that require a reboot were installed, but the reboot was declined. Automatic Updates won’t do anything until this value is cleared and a reboot occurs.)

  Force updates detection on a client by following these steps:

 1.     Stop the Automatic Updates service.

2.     Make sure that the Auto Update subkey’s AUState value is set to 2.

3.     Delete the Auto Update subkey’s LastWaitTimeout value.

4.     Restart the Automatic update Service.

Tags: , ,
Posted in SCCM 2007, Scripting, Software Updates, Trobleshooting Tips, Troubleshooting Issues, Windows, WMI, WSUS | No Comments »