Introducing Windows PowerShellUnderstanding Windows PowerShellBasicsSecurityTerminologyCase SensitivityThe PowerShell ConsoleTab CompletionBasic CustomizingManaging ProfilesSetting the PromptPowerShell as a ShellWhat Is an Interactive Shell?Avoiding ErrorsRunning Cmd CommandsUser CredentialsCmdletsWhat Is a Cmdlet?Some Commonly Used CmdletsWindows InfrastructureThe .NET FrameworkWindows Management Instrumentation (WMI)Windows Remote Management (WinRM)Component Object Model (COM)Creating Popup and Input BoxesExploring PowerShellGet-CommandGet-HelpGet-MemberData DisplayParameter Sets and Positional ParametersLoading a Snap-inPowershell Scripting BasicsCreating a .ps1 ScriptCommentsVariablesScopeStringsHere StringsWildcards and Regular ExpressionsArraysHashtablesOperatorsFunctionsConditional StatementsLooping StatementsImporting and Exporting From and To FilesFlow ControlFormatting CmdletsExiting from Scripts, Functions, and LoopsDot-SourcingPassing ArgumentsParam Statement$_ and $inputError HandlingRedirection OperatorsType AcceleratorsEscaping CharactersWindows PowerShell ExamplesTypical File System TasksTesting Whether a File or Directory ExistsWindows Server Backup CmdletsExamples of Managing Server CoreXML SupportUsing the File Transfer Protocol (FTP)Downloading a File Using HTTPSending E-mail via SMTPCompressing FilesDealing with DatesTimer/CountdownTaking Input from the ConsoleStoring Secure InformationChecking Services and ProcessesChecking the Windows Event LogGetting Memory and CPU InformationAccessing Performance CountersChecking Disk Space UsageWorking with the RegistryCopying Files to Another Directory RecursivelyRotating LogsRenaming FilesScheduling TasksRunning Against Multiple TargetsCreating XML-Formatted DataChecking Open PortsHead, Tail, Touch, and TeeSummary