Commands and ExpressionsCommentsHelp CommentsVariablesBooleansStringsLiteral and Expanding StringsHere StringsEscape SequencesNumbersSimple AssignmentAdministrative Numeric ConstantsHexadecimal and Other Number BasesLarge NumbersImaginary and Complex NumbersArrays and ListsArray DefinitionsArray AccessArray SlicingHashtables (Associative Arrays)Hashtable DefinitionsHashtable AccessXMLSimple OperatorsArithmetic OperatorsLogical OperatorsBinary OperatorsOther OperatorsComparison OperatorsConditional Statementsif, elseif, and else Statementsswitch StatementsLooping Statementsfor Statementforeach Statementwhile Statementdo … while Statement/do … until StatementFlow Control StatementsbreakcontinueWorkflow-Specific StatementsInlineScriptParallel/Sequenceforeach -parallelWorking with the .NET FrameworkStatic MethodsInstance MethodsExplicitly Implemented Interface MethodsStatic PropertiesInstance PropertiesLearning About TypesThe Get-Member cmdlet.NET Framework documentationType ShortcutsCreating Instances of TypesInteracting with COM ObjectsExtending TypesThe Add-Member cmdletCustom type extension filesWriting Scripts, Reusing FunctionalityWriting CommandsWriting scriptsWriting functionsWriting script blocksRunning CommandsInvokingDot-sourcingParametersProviding Input to CommandsArgument arrayFormal parametersCommand behavior customizationsParameter attribute customizationsParameter validation attributesPipeline inputCmdlet keywords in commands$MyInvocation automatic variableRetrieving Output from CommandsPipeline outputReturn statementExit statementHelp DocumentationManaging ErrorsNonterminating ErrorsTerminating ErrorsFormatting OutputCustom Formatting FilesCapturing OutputCommon Customization PointsConsole SettingsAdjust your window sizeMake text selection easierUse hotkeys to operate the shell more efficientlyProfilesPromptsTab CompletionUser InputCommand Resolution