Learn about Windows PowerShell
Summary: Windows PowerShell Microsoft MVP, Sherif Talaat, teaches how to manage App-V Server with a free Windows PowerShell snap-in.
Microsoft Scripting Guy, Ed Wilson, is here. Guest Blogger Week continues with a special treat. We have Windows PowerShell Microsoft MVP, Sherif Talaat, with us today. Here is a little bit about him.
Sherif Talaat is an IT Pro with 6+ years’ experience in various Microsoft technologies. He specialized in virtualization, from desktops to datacenters. Sherif holds several Microsoft certifications, and he has been a Microsoft Most Valuable Professional (MVP) for Windows PowerShell since 2009. Sherif used to write about Windows PowerShell in Arabic on his blog The Arabian PowerShell. He is currently working on developing Windows PowerShell scripts for the Microsoft App-V Server SnapIn.
Contact information: Twitter: @SherifTalaat
I totally believe that the faster you adopt and learn Windows PowerShell, the faster you adopt the new technologies and become a guru in your job. Believe it or not, we are almost in 2012, and Windows PowerShell is booming and becoming a MUST in Microsoft and non-Microsoft products. Honestly, I’m not surprised at all, not only because Windows PowerShell is part of the Microsoft Common Engineering Criteria (CEC), but also because it’s a very powerful automation engine and it is easy to use.
I have to admit that I wasn’t able to deal with SharePoint before SharePoint 2010. Do you know why?! Yes, you’re right…because there was no Windows PowerShell in the earlier versions. Today, Windows PowerShell is a master key for most technology doors, and it is the tool behind a successful system administrator.
Unfortunately, there are a few products that still have no Windows PowerShell cmdlets, which is a problem for Windows PowerShell lovers. We as a community are trying to fill this gap by developing custom cmdlets, modules, and snap-ins to provide you with the Windows PowerShell commands that you want for those products.
Microsoft Application Virtualization (App-V) Server is one of the products that shipped without Windows PowerShell (or even an SDK or APIs) to provide a way to automate the complex administrative tasks.
What is App-V?
For those of you who do not know what App-V is…
App-V is another type of virtualization technology at the application level. Simply, you host the application on the server and then publish it to client computer desktops. It is used for faster application deployment and maintenance and also to solve application conflict issues.
Getting started with the WindowsPowerShell snap-in for App-V
A couple of problems with App-V Server are that it requires too many steps to do very simple tasks, and the error messages are very generic. So you can spend a lot of time repeating steps until you fix your problems, without knowing what the root cause was.
The Microsoft App-V Server SnapIn is a CodePlex project that provides a set of Windows PowerShell cmdlets that enable IT admins to easily manage and automate complex tasks in App-V Server. The current release of this snap-in contains more than 20 cmdlets. These cmdlets cover around 80% of GUI wizards and tasks. The added plus is that you get more details on what is happening in the background.
App-V snap-in cmdlets
App-V cmdlets are categorized to be similar (as much as possible) to the App-V Console. Each cmdlet category is shown in the left pane, and each cmdlet is reflected as an action in the right pane.
Here is a table of cmdlets that illustrates this arrangement.
Now let’s look at a two examples that use the AppV cmdlets.
To use the AppV snap-in to configure the Default Content Path shared folder:
Set-AppVSystemOptions -DefaultContentPath \\AppVServer\ContentFolder\
To use the App-V snap-in to publish Adobe Reader X to specific a user group that is using App-V Server, you can follow these steps:
This script is shown here.
New-AppVPackage -UNCpath "\\APPVSERVERNAME \Content\Adobe Reader X"
$PackageID = (Get-AppVPackages -Name *Reader*).Package_ID
$ServerGroupID = (Get-AppVServerGroup -Name *Default*).ID
New-AppVApplication -UNCpath "\\APPVSERVERNAME\Content\Adobe Reader X" -OSDfile "Adobe Reader X 10.1.0.534.osd" -Package_ID $PackageId -ServerGroupID $ServerGroupID -AccessGroups "$env:USERDOMAIN\AppVUsers"
Set-AppVApplicationPublishingSettings -AppName "Adobe Reader X" -Desktop $true -StartMenu $true
Thank you, Sherif. This is great information and an excellent introduction to a very powerful add-on to App-V. I can’t wait to download it and to start playing with the snap-in. Most excellent!
Guest Blogger Week will continue tomorrow when we will have Ken McFerron, who is the president of the Pittsburgh, Pennsylvania PowerShell Users Group. The Pittsburgh PowerShell Users Group will have their first meeting on December 13, 2011, and the Scripting Wife and I will be there. I will be making a presentation. It will be lots of fun, and I hope to see you there.
I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me at firstname.lastname@example.org, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, peace.
Ed Wilson, Microsoft Scripting Guy
thanks for sharing your knowledge with us!
I even didn't know that this App-V technique exists!!
But it is very interesting to see what we can do with it and how powershell can be used to deploy appications to the user's desktop!
Very Clever! Thanks for sharing.
Thanks Sherif for this amazing article.