<?xml version="1.0" standalone="no" ?>

<!--  AIT_Windows_PowerShell.xml	Course Outline in XML format
 *
 * Copyright 2009 Affinity IT Training, LLC. All Rights Reserved.
 *
 -->

<!DOCTYPE FAI:CourseOutline SYSTEM "FAI_CourseOutline.dtd">

<?xml-stylesheet type="text/xsl" href="FAI_CourseOutline.xsl" ?>	

<FAI:CourseOutline FAI:link="AIT_Windows_PowerShell.xml"
     xmlns:FAI="http://www.fisher-assoc.com/DTDs/FAI_CourseOutline.dtd" >

  <FAI:CourseTitle FAI:level="Introduction" FAI:code="WinPwrShell">
    Windows PowerShell
  </FAI:CourseTitle>  

    <FAI:CourseCategory>Windows</FAI:CourseCategory>
    <FAI:CourseCategory>PowerShell</FAI:CourseCategory>
    <FAI:CourseCategory>MSH</FAI:CourseCategory>
    <FAI:CourseCategory>Programming Languages</FAI:CourseCategory>
    <FAI:CourseCategory>System Administration</FAI:CourseCategory>
  
  <FAI:SummaryInfo>

    <FAI:CourseDesc FAI:version="Jun09" >
	Learn how to program using Windows PowerShell (a.k.a. MSH or Monad). 
    </FAI:CourseDesc>

    <FAI:CourseDuration>
	2 or 3 days
    </FAI:CourseDuration>

    <FAI:CourseAudience>
	Programmers, administrators and developers seeking to learn how to use Windows PowerShell. 2 days for individuals
		with prior programming or scripting experience; 3 days for new programmers.
    </FAI:CourseAudience>

    <FAI:CourseObjectives>
      <FAI:Objective FAI:desc="Learn to master the PowerShell language." />
      <FAI:Objective FAI:desc="Learn to perform secure scripting with PowerShell." />
      <FAI:Objective FAI:desc="Learn how to process strings, files, and XML." />
      <FAI:Objective FAI:desc="Learn techniques for network and GUI programming." />
      <FAI:Objective FAI:desc="Learn how to script Windows applications like Excel." /> 
    </FAI:CourseObjectives>

    <FAI:CourseSetupList>
	<FAI:Setup FAI:desc="Microsoft Windows XP SP2 or Server 2003 SP1 or Vista or Server 2008 AND"  />
	<FAI:Setup FAI:desc=".NET Framework 2.0 redistributable, SDK or Visual Studio 2005" />
	<FAI:Setup FAI:desc="PowerShell (download not required if using Windows Server 2008)"  
		FAI:link="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx" />
    </FAI:CourseSetupList>    

    <FAI:CourseTextList>
      <FAI:Text  FAI:title="Course Workbook" />
      <FAI:Text  FAI:title="Windows PowerShell in Action (Manning Publications Co.)"
      		FAI:link="http://www.manning.com/payette/" />
    </FAI:CourseTextList>    

    <FAI:CoursePrerequisiteList>
             
    </FAI:CoursePrerequisiteList>    

  </FAI:SummaryInfo>  

  <FAI:TopicList> 
      <FAI:Section FAI:title="Learning PowerShell" FAI:label="Part" FAI:number_format="1">
        <FAI:SuperTopic FAI:title="Welcome to PowerShell" >
          	<FAI:Topic FAI:title="What is PowerShell?" />
          	<FAI:Topic FAI:title="Soul of a new language" />
          	<FAI:Topic FAI:title="Brushing up on objects" />
                <FAI:Topic FAI:title="Dude! Where's my code?" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="The basics">
                <FAI:Topic FAI:title="Command concepts and terminology" />
		<FAI:Topic FAI:title="Parsing and PowerShell" />
		<FAI:Topic FAI:title="Pipelines and commands" />
          	<FAI:Topic FAI:title="Formatting and output" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Working with types">
                <FAI:Topic FAI:title="Type management in the wild, wild west" />
		<FAI:Topic FAI:title="Basic types and literals" />
		<FAI:Topic FAI:title="Type conversions" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Operators and expressions">
                <FAI:Topic FAI:title="Arithmetic operators" />
		<FAI:Topic FAI:title="The assignment operators" />
		<FAI:Topic FAI:title="Comparison operators" />
          	<FAI:Topic FAI:title="The pattern matching operators" />
                <FAI:Topic FAI:title="Logical and bitwise operators" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Advanced operators and variables">
                <FAI:Topic FAI:title="Operators for working with types" />
		<FAI:Topic FAI:title="The unary operators" />
		<FAI:Topic FAI:title="Grouping, subexpressions, and array subexpressions" />
          	<FAI:Topic FAI:title="Array operators" />
                <FAI:Topic FAI:title="Property and method operators" />
                <FAI:Topic FAI:title="The PowerShell format operator -F" />
                <FAI:Topic FAI:title="Redirection and the redirection operators" />
                <FAI:Topic FAI:title="Variables" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Flow control in scripts">
                <FAI:Topic FAI:title="Using the if/elseif/else statement" />
		<FAI:Topic FAI:title="The while loop" />
		<FAI:Topic FAI:title="The do/while loop" />
          	<FAI:Topic FAI:title="The for loop" />
                <FAI:Topic FAI:title="The foreach loop" />
                <FAI:Topic FAI:title="Labels, break, and continue" />
                <FAI:Topic FAI:title="The PowerShell switch statement" />
                <FAI:Topic FAI:title="Flow control using cmdlets" />
                <FAI:Topic FAI:title="The value of statements" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Functions and scripts">
                <FAI:Topic FAI:title="Function basics" />
		<FAI:Topic FAI:title="Formal parameters and the param statement" />
		<FAI:Topic FAI:title="Returning values from functions" />
          	<FAI:Topic FAI:title="Using functions in a pipeline" />
                <FAI:Topic FAI:title="Managing functions" />
                <FAI:Topic FAI:title="Scripts at long last" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Scriptblocks and objects">
                <FAI:Topic FAI:title="Scriptblock basics" />
		<FAI:Topic FAI:title="Building and manipulating objects" />
		<FAI:Topic FAI:title="A closer look at the type-system plumbing" />
          	<FAI:Topic FAI:title="Extending the PowerShell language" />
                <FAI:Topic FAI:title="Type extension" />
                <FAI:Topic FAI:title="Building code at runtime" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Errors, exceptions, and script debugging">
                <FAI:Topic FAI:title="Error handling" />
		<FAI:Topic FAI:title="Dealing with errors that terminate execution" />
		<FAI:Topic FAI:title="Script debugging" />
          	<FAI:Topic FAI:title="Nested prompts and breakpoints" />
                <FAI:Topic FAI:title="Low-level tracing" />
                <FAI:Topic FAI:title="The PowerShell event log" />
        </FAI:SuperTopic>
       </FAI:Section>
      <FAI:Section FAI:title="Using PowerShell" FAI:label="Part" FAI:number_format="1">
        <FAI:SuperTopic FAI:title="Processing text, files, and XML" >
          	<FAI:Topic FAI:title="Processing unstructured text" />
          	<FAI:Topic FAI:title="File processing" />
                <FAI:Topic FAI:title="XML processing" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Getting fancy - .NET and WinForms">
                <FAI:Topic FAI:title="Using .NET from PowerShell" />
		<FAI:Topic FAI:title="PowerShell and the Internet" />
		<FAI:Topic FAI:title="PowerShell and graphical user interfaces" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Windows objects: COM and WMI">
                <FAI:Topic FAI:title="Working with COM in PowerShell" />
		<FAI:Topic FAI:title="Working with WMI in PowerShell" />
		<FAI:Topic FAI:title="So which object model should I choose?" />
        </FAI:SuperTopic>
        <FAI:SuperTopic FAI:title="Security, security, security">
                <FAI:Topic FAI:title="Introduction to security" />
		<FAI:Topic FAI:title="Security modeling" />
		<FAI:Topic FAI:title="Securing the PowerShell environment" />
		<FAI:Topic FAI:title="Signing scripts" />
          	<FAI:Topic FAI:title="Writing secure scripts" />
        </FAI:SuperTopic>
       </FAI:Section>
  </FAI:TopicList>
<FAI:Appendix FAI:title="Comparing PowerShell to other languages" />
<FAI:Appendix FAI:title="Admin examples" />
<FAI:Appendix FAI:title="The PowerShell grammar" />

</FAI:CourseOutline>
