Donnie Taylor at myITforum.com

Find packages not Nomad enabled via Powershell

Here is a quick little script that will search a site server for all packages (software dist, boot image, TS, Image, etc...) that don't have Nomad enabled on them.  The script requires Powershell 2 (comes installed in Win7 and 2008R2 - otherwise get it from here).  The grid-view output shows package id, package class (image-package, boot-image, etc..), Mfg, Name, etc...


Replace the Sitecode and SiteServer variables with the appropriate values for your infrastructure.  Depending on the number of packages, this script might take a minute or two to run.  Watch word-wrap!


cls
$Sitecode = "001"
$SiteServer = "servername"
$completed = @()
(gwmi -Namespace root\sms\site_$sitecode -Class SMS_PackageBaseClass -ComputerName $siteserver | % {
    $obj = New-Object psobject
    $package = $_;$pkgs = [wmi] $_.__Path
    if (($pkgs.AlternateContentProviders|Out-String) -notlike "*nomad*"){
    $obj | add-member NoteProperty Class $package.__Class
    $obj | add-member NoteProperty ID $package.PackageID
    $obj | add-member NoteProperty Name $package.Name
    $obj | add-member NoteProperty Version $package.version
    $obj | add-member NoteProperty Path $package.PkgSourcePath
    write-output $obj;$completed = $completed + $obj}} ) |Out-Null
$completed | where-Object {$_.Class -notlike "*updates*" -and $_.class -notlike "*driver*"} | out-gridview


Comments

No Comments