Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Windows PowerShell on Windows Embedded Standard

Similar presentations


Presentation on theme: "Using Windows PowerShell on Windows Embedded Standard"— Presentation transcript:

1

2 Using Windows PowerShell on Windows Embedded Standard
Alexander Wechsler Enterprise Architect|CEO Microsoft Regional Director Germany|eMVP Wechsler Consulting GMBH & Co. KG EMB306

3 No risk, not fun!  Disclaimer
Everything you will hear in this session is experimental and should be taken that way! There is no support from Microsoft for this! Testing is up to you! -> well, if that is news to you… No risk, not fun! 

4 Windows PowerShell New command line and scripting language
As interactive and composable as BASH/KSH As programmatic as Perl/Python/Ruby As production oriented as AS400 CL/VMS DCL Allows access to data stores as easy to access as filesystem

5 State of the Software Phenomenal rate of adoption
Over 2 million downloads in less than 18 months Windows XP, Windows Vista, Windows Server 2003 and 2008 Shipped with Windows Server 2008 Adopted by Exchange, SQL, SCOM, SCVMM, and SCDPM Millions CEC 2009 requirement Dozens of 3rd party tools, ISVs, and partners Strong community engagement, 27 PowerShell MVPs

6 The Difference is OBJECTS!
Get-Process Where { $_.handles –gt 500 } Sort handles Format-Table Common Windows PowerShell Parser Get-Process Cmdlet Where Cmdlet Sort Cmdlet Format Cmdlet Windows PowerShell Pipeline Processor

7 PowerShell Architecture
User Experience Engine Managed Elements Shell APIs Cmdlets WMI COM Language Execution Context .NET XML ADO Debugger Object Mgr ADSI Native Commands

8 PowerShell V2 Themes GUI over PowerShell
Admin GUIs layer on top of PowerShell CLI & GUI Agility in delivering new GUIs Ensures automation GUI teaches command line Standardizes access to managed elements GUI over PowerShell

9 PowerShell V2 Themes Production Scripting Scripts are Easy to use
Safe to operate Easy to share Easy to support Production Scripting

10 PowerShell V2 Themes Universal Code Execution Model
Expressions, Commands, and ScriptBlocks can run In the foreground or background On one or more machines Over a LAN or a WAN In restricted or unrestricted environments Using impersonation or supplied credentials Initiated by user input or by events Universal Code Execution Model

11 Demo Power of PowerShell

12 Why use PowerShell on Windows Embedded?
Change management is always a challenge Build time Factory floor In-field maintenance Operating system deployment Commonly known tools Show their age -> CMD.exe / batch files Are good, but limited to their environment –> WSH Are not comfortable to use -> DUA Are moving towards PowerShell -> SCCM!

13 Embedded Scenarios 1/2 Build process Factory
Post FBA image configuration Image sealing Factory Target Device Configuration Computer name Domain join Etc. HW and SW test/quality assurance

14 Embedded Scenarios 2/2 Field
Adjusting user experience (desktop or shell settings) Network configuration IP-Settings Network Share Firewall Handling of disk filters/HORM Remote Management of devices Device detection WES Power Management

15 Getting PowerShell into a WES Image 1/2
Version 1.0 Required .NET Framework 2.0 Web Services for Management (WS-Management) Optional Additional infrastructure targeted, e.g.: WMI EWF /FBWF manager console application

16 Getting PowerShell into a WES Image 2/2
Version 2.0 CTP Required .NET Framework 3.0 or higher setup Web Services for Management (WS-Management) Optional Windows Management Instrumentation Technologies Windows Firewall Control Panel, Windows Firewall/Internet Connection Sharing (ICS) Administrator Account (with password) Microsoft Management Console (MMC) Group Policy Core Administration MMC Snap-In COM+ Services Write Filter Console Applications

17 Adding Windows PowerShell
Manual Add required/desired components from the WES catalog to the image Run through FBA Run PowerShell installation manually Automatic Add required/desired components from the WES catalog Create silent setup components out of: PowerShell Installer X86 Web Services for Management (WS-Management 1.1)

18 Creating Silent Setup Components
Demo Creating Silent Setup Components

19 Windows Embedded Standard Image with PowerShell Version 2.0 CTP
Demo Windows Embedded Standard Image with PowerShell Version 2.0 CTP

20 Real World Examples 1/3 Build process Add custom configurations
Add Boot Logo switch Change wallpaper Turn on EWF

21 Demo Build Process Samples

22 Real World Examples 2/3 Factory Check for image errors
List installed applications List installed drivers Change computer name Read configuration from XML file Change name Reboot

23 Demo Factory Samples

24 Real World Examples 3/3 Field Enhancing DUA with PowerShell
Using PowerShell as DUA IDE Static network settings using WMI Enhancing user experience Device detection

25 Device Update Agent Architecture
Development Environment Update Web Server Device Update Script (.DUS file) HTTP/HTTPS XPE Device Validate and Tokenize Translator Device Update Agent Command File (.DUP) Local File Storage

26 Device Update Agent Configuration

27 Demo Field Samples

28 Remote Management with PowerShell
Current limitation WS-Management not supported in WES 2009 WMI Remote Management supported Target computer does not need to have PowerShell WMI infrastructure required Special DCOM configuration essential

29 Remote Management with WMI
Demo Remote Management with WMI

30 Advanced PowerShell Usage 1/3
Writing custom Cmdlets Great way to extend the language e.g.: “Start-EWF”, “Get-Sensors”, “Get-Robots” Use .NET Interop to reach out to native APIs [Cmdlet(VerbsLifecycle.Start, "EWF“, DefaultParameterSetName = “Volume“, SupportsShouldProcess = true)] public class StartEWFCommand : PSCmdlet { …..Implement EWF functionality here }

31 Hosting the PowerShell Runtime
…… using System.Management.Automation; using System.Management.Automation.Host; using System.Management.Automation.Runspaces; namespace Microsoft.Samples.PowerShell.Host { class Host01 { /// <param name="args">Unused</param> static void Main(string[] args) // Create an instance of this class so that the PowerShell // will have access to the ShouldExit and ExitCode // parameters. Host01 me = new Host01(); // Create the host instance to use. MyHost myHost = new MyHost(me); // Create and open the runspace, passing the host // instance just created. Runspace myRunSpace = RunspaceFactory.CreateRunspace(myHost); myRunSpace.Open(); // Create the invoker and use it to execute the script. RunspaceInvoke invoker = new RunspaceInvoke(myRunSpace); string script = “write-host ‘Hello World!’” invoker.Invoke(script); }

32 Advanced PowerShell Usage 2/3
Host the PowerShell runtime Get scripting capabilities for your application Enhance a custom shell Create a PowerShell provider for your application or Shell PowerShell-enable your code /application Find the Powershell SDK at:

33 Advanced PowerShell Usage 3/3
Use PowerShell in Deployment and Maintenance System Center Configuration Manager Windows Server Update Services Windows Deployment Services Not available on WinPE (no .NET support) 

34 PowerShellCommunity.org Forums Cmdlet Library Blogs Wiki
Script Repository Software Directory User Group Outreach

35 Microsoft Resources Windows Embedded Team Blog
PowerShell Team Blog blogs.msdn.com/powershell Scripting Guys Script Center microsoft.com/technet/scriptcenter Hub for official documentation The Windows PowerShell Toolbox Script repository and other goodies

36 Question & Answer

37 Breakout Sessions Required Slide
Track PMs will supply the content for this slide, which will be inserted during the final scrub. Breakout Sessions General EMB202: What a desktop developer needs to know to develop for Windows Embedded EMB304: Windows Embedded: from sensors to servers EMB310: Windows Embedded: "Demos only“ Windows Embedded CE EMB301: Technical introduction to the new Windows Embedded CE 6.0 R3 EMB307: Windows Embedded CE6.0: Tools and Techniques to Face the Embedded Development Challenges EMB201: Windows Embedded CE and Connectivity EMB305: From Expression Blend to Windows Embedded CE: build the UI of next generation devices Windows Embedded Standard and POSReady EMB303: Windows Embedded Standard 2011: How to Embed Windows 7 into Devices EMB309: Create a Multitouch and Gesture Aware Device Using Windows Embedded Standard 2011 EMB308: Componentization Architecture in Windows Embedded Standard 2011 EMB306: Using Windows PowerShell on Windows Embedded Standard EMB302: Deploying Windows Embedded with Style EMB203: Using Windows Deployment Services And Microsoft System Center To Deploy And Manage A Point-of-Service (POS)

38 HOLs, Interactive, Sunday and Demo Sessions
Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. HOLs, Interactive, Sunday and Demo Sessions Interactive sessions EMB01-IS: Delivering Applications as Appliances EMB02-IS: Windows for Devices: Learn about the Future of Windows Embedded EMB03-IS: The Schtick: Solving Real-Time Challenges, connectivity and GUI with Windows Embedded CE EMB04-IS: Deploying and maintaining Windows Embedded Standard with different Hands On Lab Higher Fidelity internet experience with Internet Explorer Embedded Introduction to Connection Manager Creating a custom Windows Embedded Standard 2011 operating system image for an application New Servicing and Deployment Scenarios in Windows Embedded Standard 2011 Embedded Enabling Features in Windows Embedded Standard 2011 Configuring and Using PowerShell to Manage Windows Embedded Standard Devices Sunday and Demo Session EMB101-SUN: Windows Embedded101 EMB01-Demo: Embedding Windows Seven into devices

39 Useful URLs Required Slide
Track PMs will supply the content for this slide, which will be inserted during the final scrub. Useful URLs Microsoft Web sites Blogs Other

40 Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

41 Required Slide © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Using Windows PowerShell on Windows Embedded Standard"

Similar presentations


Ads by Google