The information should already be in the database, why do you need to query 
each machine individually again for the information?

From: [email protected] [mailto:[email protected]] On 
Behalf Of Todd Hemsell
Sent: Wednesday, August 07, 2013 12:21 PM
To: [email protected]
Subject: Re: [mssms] Query specific installed updates

I dislike using PowerShell because I do not like the dependency on PowerShell 
working.
Perhaps I should make some sort of test package that runs an extremely basic 
powershell command to see how many machines it works on and how many it does 
not.

Any suggestions for a simple command?
On Wed, Aug 7, 2013 at 12:16 PM, Todd Hemsell 
<[email protected]<mailto:[email protected]>> wrote:
I use this for applications. If the update is installed it returns the kb, 
otherwise it does not - so it is not installed.

strComputer = "."
HF_ID = "KB2775511"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_QuickFixEngineering 
Where HotFixID='" & HF_ID & "'",,48)
For Each objItem in colItems
    Wscript.Echo "HotFixID: " & objItem.HotFixID
Next
On Wed, Aug 7, 2013 at 9:29 AM, Beardsley, James 
<[email protected]<mailto:[email protected]>> wrote:
What's the best method of querying the list of all installed updates (all 
updates that show up in the Control Panel UI)? I want to create a configuration 
item to either use Powershell or WMI to check if a particular Lync update 
(KB2842627) is installed. On my test machine which has it installed, when I 
look at Installed Updates through Control Panel, it lists 5 Lync updates 
including the one I'm looking for.

[cid:[email protected]]

However, if I run the following Powershell script (I found it online and 
modified it to only show Lync updates) on that same computer, I don't get the 
results I'm expecting. It only returns 1 Lync update (Security Update for Lync 
2010 X64 (KB2843160) | MS13-054). I'm trying to figure out why it would show 
one but not the others? If there's a better way to obtain that information 
programmatically, I'm open to suggestions.

Function Get-InstalledUpdates($title) {
    $UpdateSession = New-Object -ComObject Microsoft.Update.Session
    $SearchResult = $null
    $UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
    $UpdateSearcher.Online = $true
    $SearchResult = $UpdateSearcher.Search("IsInstalled=1 and Type='Software'")

    $i = 1
    foreach($Update in $SearchResult.Updates)
    {
          If ($Update.Title -like "*$title*") {
        Write-Host "$i) $($Update.Title + " | " + $Update.SecurityBulletinIDs)"
        $i += 1
        }
    }
}

cls

Get-InstalledUpdates("Lync")

Thanks!
________________________________

IRS Compliance: Any tax advice contained in this communication (including any 
attachments) is not intended or written to be used, and cannot be used, for the 
purpose of (i) avoiding penalties imposed under the Internal Revenue Code or 
applicable state or local tax law or (ii) promoting, marketing, or recommending 
to another party any transaction or matter addressed herein.

________________________________

Confidentiality Notice: This e-mail is intended only for the addressee named 
above. It contains information that is privileged, confidential or otherwise 
protected from use and disclosure. If you are not the intended recipient, you 
are hereby notified that any review, disclosure, copying, or dissemination of 
this transmission, or taking of any action in reliance on its contents, or 
other use is strictly prohibited. If you have received this transmission in 
error, please reply to the sender listed above immediately and permanently 
delete this message from your inbox. Thank you for your cooperation.




________________________________
THIS E-MAIL AND ANY MATERIALS TRANSMITTED WITH IT MAY CONTAIN CONFIDENTIAL OR 
PROPRIETARY MATERIAL FOR THE SOLE USE OF THE INTENDED RECIPIENT. ANY REVIEW, 
USE, DISTRIBUTION OR DISCLOSURE BY OTHERS IS STRICTLY PROHIBITED. IF YOU ARE 
NOT THE INTENDED RECIPIENT, OR AUTHORIZED TO RECEIVE THE INFORMATION FROM THE 
RECIPIENT, PLEASE NOTIFY THE SENDER BY REPLY E-MAIL AND DELETE ALL COPIES OF 
THIS MESSAGE.



<<inline: image001.png>>

Reply via email to