VMware is the global leader in virtualization software, providing desktop and server virtualization products for virtual infrastructure solutions.
Latest Topics | ZDNet. Our takeaways from this fall's Strata main event are that enterprise data lakes are going the (virtual) way of enterprise data warehouses, and that for now, machine learning is more accessible than Io. T to developers. 8 hours ago. Tony Baer (Ovum) in Big Data Analytics. Automating Flash Player – Set It And Forget It – System Center Config. Mgr. If you work in a large enterprise you will have had to deploy Flash Player to your workstations and if you have, you will know that it has more security holes than swiss cheese and needs updating very often. Trying to keep control of this is the road to madness so let’s automate the sh#! In the past I used to disable the auto update as it just annoys the end user and would try to keep it up to date but this causes more problems than it solves. Controlled automation is the solution. Broadly what i did. Create an application and deployment for Adobe Flash Player(IE and Firefox versions). Create a Configuration item to make sure it’s set to auto update. Create and deploy a Configuration Baseline. Update the Adobe Flash Player scheduled task. Never have to worry about flash again until Adobe retire the product. Update existing versions. In my environment we use SNOW Licence Manager, this can give a detailed reports of all software and more importantly what versions of said software. What i found was not encouraging, the versions ranged from 9 to 2. It was important to update all installations to the latest version and that can act as my baseline to work off for the future. This was before, pretty bad. Application Name. Installation. Adobe Flash Player 9. Adobe Flash Player 1. Adobe Flash Player 1. Adobe Flash Player 1. Adobe Flash Player 1. Adobe Flash Player 1. Adobe Flash Player 1. Adobe Flash Player 2. Adobe Flash Player 2. Download Flash Player MSIGo to the flash distribution page found here – https: //www. Note: You will need to apply to Adobe for a distribution license to access this site. As of windows 8 flash has been embed into IE and Edge. Chrome has flash built in and its better to let chrome update itself rather than deploy the PPAPI version. Create and deploy Adobe Flash Player. Using the voodoo power of Power. Shell create the adobe applications and deploy them to all workstations, obviously change as needed. Script; < #. ===========================================================================. Created on: 0. 9/1. Created by: Terence Beggs & Maurice Daly. Filename: Adobe. Flash. Deployment. ps. 1. DESCRIPTION Adds Adobe Flash Player MSIs to your SCCM Application list. The Script assumes the following folder structure exists in your software. Adobe\Flash Player". EXAMPLE Adobe. Flash. Deployment. ps. 1 - Site. Code SCM - Repository. Path \\YOURSERVER\UNCSHARE - Icon. Path \\YOURSERVER\UNCSHARE\ICONS\ADOBEFLASH. ICO. Note that you do not have to specify an icon . NOTES MSI Database Function. Cmdlet. Binding(Supports. Should. Process = $true)]. Mandatory = $true, Help. Message = "SCCM Site Code Required", Position = 1)]. Validate. Not. Null. Or. Empty()]. [string]$Site. Code. [parameter(Mandatory = $true, Help. Message = "Base UNC path of your packages")]. Validate. Not. Null. Or. Empty()]. [Validate. Script({ Test- Path $_ })]. Repository. Path. Mandatory = $false, Help. Message = "Please indicate if you wish to specify a custom icon, default is false")]. Validate. Not. Null. Or. Empty()]. [bool]$Specify. Icon = $false. [parameter(Mandatory = $false, Help. Message = "Location of . ICO or PNG to use as the application icon")]. Validate. Not. Null. Or. Empty()]. [Validate. Script({ Test- Path $_ })]. Icon. Path. # Import SCCM Power. Shell Module. $Module. Name = (get- item $env: SMS_ADMIN_UI_PATH). Full. Name + "\Configuration. Manager. psd. 1". Import- Module $Module. Name. Write- Debug "Site Code In Use : $Site. Code". # Specify Adobe Flash Folder. Adobe. Flash. Dir = "\Adobe Systems\Flash Player\". Remove back slash if added to the Repository. Path. $Repository. Path = $Repository. Path. Trimend("\"). Write- Debug "Package UNC Base Path In Use : $Repository. Path". # Specify SCCM Collection. All. Wks. Collection = "All Active Workstations". Get. MSIDetails ($MSI, $Property). Write- Debug "Function $MSI". Write- Debug "Fuction $Property". Read property from MSI database. Windows. Installer = New- Object - Com. Object Windows. Installer. Installer. Write- Debug "Full. Name = $($MSI. Full. Name)". $MSIDatabase = $Windows. Installer. Get. Type(). Invoke. Member("Open. Database", "Invoke. Method", $null, $Windows. Installer, @($MSI. Full. Name, 0)). Write- Debug "MSIDatabase = $MSIDatabase". Read properties. $Query = "SELECT Value FROM Property WHERE Property = '$($Property)'". View = $MSIDatabase. Get. Type(). Invoke. Member("Open. View", "Invoke. Method", $null, $MSIDatabase, ($Query)). View. Get. Type(). Invoke. Member("Execute", "Invoke. Method", $null, $View, $null). Record = $View. Get. Type(). Invoke. Member("Fetch", "Invoke. Method", $null, $View, $null). Value = $Record. Get. Type(). Invoke. Member("String. Data", "Get. Property", $null, $Record, 1). Write- Debug "Value = $Value". Commit database and close view. MSIDatabase. Get. Type(). Invoke. Member("Commit", "Invoke. Method", $null, $MSIDatabase, $null). View. Get. Type(). Invoke. Member("Close", "Invoke. Method", $null, $View, $null). MSIDatabase = $null. View = $null. # Return the value. Value. Write- Warning - Message $_. Exception. Message; break. Run garbage collection and release Com. Object. [System. Runtime. Interopservices. Marshal]: :Release. Com. Object($Windows. Installer) | Out- Null. System. GC]: :Collect(). MSI in (Get- Child. Item - Path ($Repository. Path + $Adobe. Flash. Dir) - Filter *. MSI | Sort- Object $_. Last. Write. Time | select - First 2)). Write- Debug "Collecting details for $MSI file". Property = "Manufacturer". Manufacturer = (Get. MSIDetails ($MSI)($Property)). Manufacturer = ([string]$Manufacturer). Trim(). Write- Debug "Manufacturer: $Product. Name". $Property = "Product. Name". $Product. Name = (Get. MSIDetails ($MSI)($Property)). Product. Name = ([string]$Product. Name). Trim(). Write- Debug "Product Name: $Product. Name". $Property = "Product. Version". $Product. Version = (Get. MSIDetails ($MSI)($Property)). Product. Version = ([string]$Product. Version). Trim(). Write- Debug "Querying MSI Details". Set- Location - Path ($Site. Code + ": "). if ((Get- CMApplication - Name $Product. Name) - ne $null). Write- Debug "Running Application Creation for $Product. Name". #########################################. Create Application with Icon. If ($Specify. Icon - ne $false). Write- Debug "Creating application with icon $Icon. Path specified". # Custom icon specified. New- CMApplication - Name "$Product. Name" - Icon. Location. File $Icon. Path - Localized. Description $Product. Name - Localized. Name $Product. Name - Publisher $Manufacturer - Software. Version $Product. Version. Write- Debug "Creating application without optional icon specified". Create Application without Icon. New- CMApplication - Name "$Product. Name" - Localized. Description $Product. Name - Localized. Name $Product. Name - Publisher $Manufacturer - Software. Version $Product. Version. #########################################. Create Deployment Types. Add- CMDeployment. Type - Deployment. Type. Name $Product. Name - Application. Name $Product. Name - Installation. File. Location $MSI. Full. Name - Msi. Installer - Auto. Identify. From. Installation. File - Force. For. Unknown. Publisher $true - Installation. Behavior. Type Install. For. System - Verbose. Distripute Content. Start- CMContent. Distribution - Application. Name $Product. Name - Distribution. Point. Group. Name "All Distribution Points" - Verbose. Create Application Deployment. Start- CMApplication. Deployment - Collection. Name $All. Wks. Collection - Name $Product. Name - Available. Date (get- date) - Available. Time (get- date) - Deploy. Action Install - Deploy. Purpose Required - Time. Base. On Local. Time. Write- Warning - Message "$Product. Name already exists. Skipping.". #########################################. Refresh Policy on collection. Start- Sleep - Seconds 1. Invoke- CMClient. Notification - Device. Collection. Name $All. Wks. Collection - Notification. Type Request. Machine. Policy. Now - Verbose. Run the Deployment Summarization. Invoke- CMDeployment. Summarization - Collection. Name $All. Wks. Collection - Verbose. Once you have deployed the latest version of flash everywhere you should end up with a baseline to work off, some clients won’t want to update from let’s say version 1. My buddy MVP Nickolaj Andersen has a good post about this – http: //www. Creating a Configuration Item. Create a Configuration Item to ensure Adobe flash player updates itself: Discovery Script. This script looks for the existence of the “mms. More details here http: //www. Script; if (Test- Path $env: WINDIR\Sys.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
October 2017
Categories |