Monday, May 25, 2009
Deploy Adobe Acrobat Updates
See an update on deploying patches to x64 machines
http://sms-hints-tricks.blogspot.com/2010/07/adobe-updates-on-x64.html
Every couple of months Adobe will release a patch for their products. If you're like us you might be running several versions of Adobe Acrobat (7,8,9) at the same time.
Depending on how you want to upgrade these software titles determines your approach. At one time we had a collection for each update. As the computer was patched it was inventoried and moved to the next collection. On some machines we might send down a batch file that would force all the patches back on in the hopes that the software knew what had been installed and would skip the older version. Here is the latest way we push down the patch. We have a single collection for Adobe 8,9 Patches. It looks for machines that have adobe 8 but are not at the latest patch level. Now you simply run this vbs script on the collection. The script determines the patch level and applies the appropriate patches.
------Adobe 8--------
Dim objShell, RegLocate
Set objShell = WScript.CreateObject("WScript.Shell")
On error resume next
Dim sngVersion
'''' Adobe 8.0.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.0.0" then
objShell.run "msiexec /p AcrobatUpd810_efgj_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.0" then
objShell.run "msiexec /p AcrobatUpd811_all.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.1
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.1" then
objShell.run "msiexec /p 8.1.2 patch.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.2" then
objShell.run "msiexec /p AcrobatUpd813_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.3 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.3" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.4 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.4" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.5 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.5" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.7
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.6" then
objShell.run "msiexec /p AcrobatUpd817_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.7" then
objShell.run "msiexec /p AcrobatUpd820_all_incr.msp /qb /norestart", 0, True
end if
-------------------
Adobe Reader 8 updates collection
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe Acrobat 8%" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version != "8.2.0"
-------------------------------------------------
-----------Adobe Pro 9 updates--------------------------------------
Dim objShell, RegLocate
Set objShell = WScript.CreateObject("WScript.Shell")
On error resume next
Dim sngVersion
'''' Adobe 9.0.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.0.0" then
objShell.run "msiexec /p AcroPro-std9.1.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.0" then
objShell.run "msiexec /p Adobe_9.1.2_pro.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.1
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.1" then
objShell.run "msiexec /p Adobe_9.1.2_pro.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.3
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.2" then
objShell.run "msiexec /p AcrobatUpd913_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 9.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.3" then
objShell.run "msiexec /p AcrobatUpd920_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 9.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.2.0" then
objShell.run "msiexec /p AcrobatUpd930_all_incr.msp /qb /norestart", 0, True
end if
WScript.Quit
----------------------------------------------------
Adobe Reader 9 collection
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Adobe Reader 9%" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version != "9.2.0"
http://sms-hints-tricks.blogspot.com/2010/07/adobe-updates-on-x64.html
Every couple of months Adobe will release a patch for their products. If you're like us you might be running several versions of Adobe Acrobat (7,8,9) at the same time.
Depending on how you want to upgrade these software titles determines your approach. At one time we had a collection for each update. As the computer was patched it was inventoried and moved to the next collection. On some machines we might send down a batch file that would force all the patches back on in the hopes that the software knew what had been installed and would skip the older version. Here is the latest way we push down the patch. We have a single collection for Adobe 8,9 Patches. It looks for machines that have adobe 8 but are not at the latest patch level. Now you simply run this vbs script on the collection. The script determines the patch level and applies the appropriate patches.
------Adobe 8--------
Dim objShell, RegLocate
Set objShell = WScript.CreateObject("WScript.Shell")
On error resume next
Dim sngVersion
'''' Adobe 8.0.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.0.0" then
objShell.run "msiexec /p AcrobatUpd810_efgj_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.0" then
objShell.run "msiexec /p AcrobatUpd811_all.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.1
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.1" then
objShell.run "msiexec /p 8.1.2 patch.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.2" then
objShell.run "msiexec /p AcrobatUpd813_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.3 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.3" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.4 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.4" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.5 allows for jumps in patches
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.5" then
objShell.run "msiexec /p Adobe_Pro_8.1.6.msp /qb /norestart", 0, True
end if
'''' Adobe 8.1.7
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.6" then
objShell.run "msiexec /p AcrobatUpd817_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 8.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000003}\DisplayVersion")
if sngVersion="8.1.7" then
objShell.run "msiexec /p AcrobatUpd820_all_incr.msp /qb /norestart", 0, True
end if
-------------------
Adobe Reader 8 updates collection
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe Acrobat 8%" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version != "8.2.0"
-------------------------------------------------
-----------Adobe Pro 9 updates--------------------------------------
Dim objShell, RegLocate
Set objShell = WScript.CreateObject("WScript.Shell")
On error resume next
Dim sngVersion
'''' Adobe 9.0.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.0.0" then
objShell.run "msiexec /p AcroPro-std9.1.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.0
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.0" then
objShell.run "msiexec /p Adobe_9.1.2_pro.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.1
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.1" then
objShell.run "msiexec /p Adobe_9.1.2_pro.msp /qb /norestart", 0, True
end if
'''' Adobe 9.1.3
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.2" then
objShell.run "msiexec /p AcrobatUpd913_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 9.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.1.3" then
objShell.run "msiexec /p AcrobatUpd920_all_incr.msp /qb /norestart", 0, True
end if
'''' Adobe 9.2
sngVersion = objShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-0000-7760-000000000004}\DisplayVersion")
if sngVersion="9.2.0" then
objShell.run "msiexec /p AcrobatUpd930_all_incr.msp /qb /norestart", 0, True
end if
WScript.Quit
----------------------------------------------------
Adobe Reader 9 collection
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Adobe Reader 9%" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version != "9.2.0"
Friday, May 22, 2009
What's new with Microsoft?
Here is some information from the
System Center and Virtualization Readiness Newsletter: May 2009
On-demand Webcasts:
System Center and Virtualization Readiness Newsletter: May 2009
On-demand Webcasts:
- How Microsoft does IT: System Center Configuration Manager 2007 Client Health Strategies (Level 300)
- How Microsoft does IT: Using Local Policies to Solve Complex System Center Configuration Manager 2007 Client Challenges
- How Microsoft does IT: Deploying Windows 7 Using System Center Configuration Manager 2007 and OSD
- How Microsoft does IT: Using Virtualization with Hyper-V to Deploy System Center Configuration Manager 2007
- How Microsoft does IT: Delivering Internet-based Client Management
Client Management Bootcamp to launch July 2009
"To help our partners leverage these opportunities, the BG team has developed the System Center Client Management Bootcamp. This training will teach partners how to effectively position, sell and deploy the System Center Client Management Suite to address common customer challenges around client management." Topics include:
· Client virtualization
· Optimized client architecture, planning and deployment
· Deploying and optimizing Windows 7 and Office 14
· How to Deliver a Client Management Suite Proof of Concept
· Service Manager 1-day deep dive
Sunday, May 10, 2009
Inventory Certificates
Ok here is the link to the code to inventory certificates.
http://www.sccm-tools.com/tools/vbscript/vbscript-certificates.html
http://www.sccm-tools.com/tools/vbscript/vbscript-certificates.html
Inventory Certificates
Recently we found some Native Mode computers that had expired computer certificates. When this happens the client becomes unhealth and thus stops responding. Until the cert is renewed it will just sit in a dead state. Well instead of working "reactively" I want to be "proactive." Now I have found several differnet reasons for certificate renewal errors which I have document one or more here in my blog. With my latest work with Sherry Kissinger, another MVP in the ConfigMgr area we were able to create a VBscript that would pull the cert data and inject into WMI so it can be pulled at inventory time. Since the expiration date (and count down in days) is pulled a report can be run that will tell you if a computer is getting ready to expire or has already occured.
The only difficult issue is that it relies on Capicom, which some admins don't use. It will attempt to register the dlls so it can inventory. I haven't found a better way to do this. .NET offers some but again you are dependent on an installtion of .NET and some other assemblies. Well hopefully I can have some others confirm this works correctly in their test enviroments. I will then post the code here, link from the original post in the Technet Forums and move it into production.
The only difficult issue is that it relies on Capicom, which some admins don't use. It will attempt to register the dlls so it can inventory. I haven't found a better way to do this. .NET offers some but again you are dependent on an installtion of .NET and some other assemblies. Well hopefully I can have some others confirm this works correctly in their test enviroments. I will then post the code here, link from the original post in the Technet Forums and move it into production.
Sunday, May 3, 2009
MMS 2009 Presenation
So you either went to the session with Greg and me or you have watched it the recording.
I have a tools website that I slow been working on
www.sccm-tools.com
Here are some of the tools that I personally have created:
http://sms-hints-tricks.blogspot.com/2008/06/right-click-tool-status-messages.html
http://www.sccm-tools.com/tools/rightclick/rightclick-clientactions.html
http://www.sccm-tools.com/tools/rightclick/rightclick-Collectionaddcomputers.html
a good way to find tools online is to search with these parameters
"sccm tools"
"right click tools"
"Console extenstions"
I have a tools website that I slow been working on
www.sccm-tools.com
Here are some of the tools that I personally have created:
http://sms-hints-tricks.blogspot.com/2008/06/right-click-tool-status-messages.html
http://www.sccm-tools.com/tools/rightclick/rightclick-clientactions.html
http://www.sccm-tools.com/tools/rightclick/rightclick-Collectionaddcomputers.html
a good way to find tools online is to search with these parameters
"sccm tools"
"right click tools"
"Console extenstions"
Subscribe to:
Posts (Atom)