ConfigMgr - An Administrator's Guide to Deploying Applications using PowerShell
ConfigMgr - An Administrator's Guide to Deploying Applications using PowerShell
About the Book
My manager asked me to deploy an application: "Should be simple", he said. "It's a Setup.exe and part-way through the installer, the user has to make a choice from a drop-down menu - they must select 'Sage Enterprise Management' and you know they wont, so make sure that part's automated"
"After that, I have one more urgent deployment; you'll need to customise an xml file which needs to be copied to a specific folder structure that may or may not already exist on the computer. And there's an Excel Add-in - so we'll need it to be automatically picked up by Excel and activated so that the tab appears with no end-user config. Should be a piece of cake."
Fed up of sand being kicked in your face? Exactly how do you deploy a PowerShell script? What if it's a function? What if it's not? What if it accepts parameters? How do you know which properties of your MSI can be tweaked and even more importantly, how do you know what values can be passed to them? What about detection rules? What if there's nothing to detect? Help!
If you would like to know how to achieve all of this and much, much more using Microsoft Configuration Manager (SCCM) and PowerShell then you will want to read this book.
Reader Testimonials
Nathan L
Developer
Woah I had no idea about all these flags and properties available via MSIEXEC! Thanks Oz, I can see this being really useful for getting a base VM from 0 to Infor installation ! Thanks very much. It’s really clear and concise too. You should write more!
Table of Contents
-
- Introduction
- Who This Book Is For
-
How This Book is Organised
- Code
- The Sum of Its Parts
-
Part 1: Why Use PowerShell?
-
PowerShell Cmdlets
- Write-Host
- Get-Location
- Set-Location
- Push-Location \ Pop-Location
- Get-Process \ Stop-Process
- Start-Process
- New-Item
- New-ItemProperty
- Get-Item
- Test-Path
- Try \ Catch
- Copy-Item
- The Story so Far
-
PowerShell Cmdlets
-
Part 2: MSIEXEC
-
Fundamentals
- View the help
- Where Is It?
- Better to use $Env:
-
Parameters
- Installation
- Silent Install
- No Restart
- Uninstall
-
Properties
- Which Properties Can I Set?
- How to Find Valid Property Values
-
Uninstall GUIDs
- 32-bit Installations
- 64-bit Installations
-
Setup.exe
- Example MSI Extraction
- The Story so Far
-
Fundamentals
-
Part 3: Detection Rules
- Why Use PowerShell?
-
Detection Fundamentals
- The Microsoft “Rules”
- In Practice
- Where Do I Put My Detection Rules Anyway?
- Silently Continue
-
Detection Rule Context
- Why Context Matters
- The Solution
- To Summarise
-
Detection Types
- File \ Folder Presence
- Executable Presence
- Executable Version
- Registry Key
- Registry Value
-
Custom Detection
- Why Use Custom Detection?
- By File
- By Registry
-
Branching
- By Office Bitness
-
Examples
- Mimecast Detection (Branching Example)
- Java Detection (This and This)
- The Story so Far
-
Part 4: Location, Location, Location
-
Where Is This Script Running from Anyway?
- How We Used to Do Things
- The Various Solutions
- A Better Way
-
File Placement
- Where to Place Your Files for Deployment
-
Referencing Files
- Referencing Files in a Flat Structure
- Referencing Files in Subdirectories
- If You’re Elsewhere…
- And Finally…
- The Story so Far
-
Where Is This Script Running from Anyway?
-
Part 5: Installing the Program
- Calling the MSI or Setup.exe
- Start Your Engines Please
-
Parameters
- -FilePath
- -ArgumentList
- -NoNewWindow
- -Wait
- Dealing with Spaces
-
Putting It All Together
- Example 1 - Simple MSI
- Example 2 - MSI with Properties
- Example 3 - Setup.Exe
- The Story so Far
-
Part 6: Deploying the Script
-
Calling Your Script
- Standard Script (Top to bottom)
- Script with Entry Point
- Function
- Function Accepting Parameters
- The Story so Far
-
Calling Your Script
-
Part 7: Deployment Template
-
How to Use
- Deploying Based on Office ‘Bitness’
- Deploying Based on Operating System Architecture
- Pre-Deployment Tasks
- Post-Deployment Tasks
- Logging
- How to Call the Template
- Lead by Example
- The Story so Far
-
How to Use
-
Part 8: Useful Code Snippets
-
- Detect Office ‘Bitness’
- Detect Operating System Architecture
- Obtaining the Current Logged in User Name
- Copying Files
- No Include
- Register \ Unregister DLL’s
- Use the Template!
-
-
Part 9: Real-World Examples
-
Ready to go Scripts
- Adobe Reader
- Java
- Firefox
- Mimecast
- Fusion Excel Connect Client
-
Ready to go Scripts
- Tips
-
Bonus Chapter 1
-
A Step-by-Step Guide to Deploying a CCMCache Resize
- The Scenario
-
A Step-by-Step Guide to Deploying a CCMCache Resize
-
Bonus Chapter 2
-
A Step-by-Step Guide to Deploying EMC SourceOne Agent for Offline Files
- Objectives
- Download and Extract the Files!
- Move the Files to the SCCM Source Location
- Discover the Silent Deployment Switches
- The Deployment Template
- Download the Pre-Configured Deployment Template
- Create The Application
- Installation Program
- The Detection Rule
- Traditional Method
- PowerShell Method
- Lock and Load
- Summary
-
A Step-by-Step Guide to Deploying EMC SourceOne Agent for Offline Files
-
Bonus Chapter 3
-
A Step-by-Step Guide to Deploying RSAT Components for Windows 10
- Background
- Get the Script
- Install-RSATCapabilities
- Uninstall-RSATCapabilities
- Season to Taste
- Move the Script to the SCCM Source Location
- Create The Application
- Installation Program
- The Detection Rule
- Distribute and Deploy
- The Result
-
A Step-by-Step Guide to Deploying RSAT Components for Windows 10
-
Afterword
- Don’t Be a Stranger!
- Suggested Reading
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them