
PowerShell Cookbook
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Cover
- Copyright
- Table of Contents
- Foreword
- Preface
- Who This Book Is For
- How This Book Is Organized
- Part I
- Part II
- Part III
- Part IV
- Part V
- What You Need to Use This Book
- Conventions Used in This Book
- Access This Book in Digital Format
- Using Code Examples
- O'Reilly Online Learning
- How to Contact Us
- Acknowledgments
- Part I. Tour
- A Guided Tour of PowerShell
- Introduction
- An Interactive Shell
- Structured Commands (Cmdlets)
- Deep Integration of Objects
- Administrators as First-Class Users
- Composable Commands
- Techniques to Protect You from Yourself
- Common Discovery Commands
- Ubiquitous Scripting
- Ad Hoc Development
- Bridging Technologies
- Namespace Navigation Through Providers
- Much, Much More
- Part II. Fundamentals
- Chapter 1. The PowerShell Interactive Shell
- 1.0 Introduction
- 1.1 Install PowerShell Core
- Problem
- Solution
- Discussion
- 1.2 Run Programs, Scripts, and Existing Tools
- Problem
- Solution
- Discussion
- See Also
- 1.3 Run a PowerShell Command
- Problem
- Solution
- Discussion
- See Also
- 1.4 Resolve Errors Calling Native Executables
- Problem
- Solution
- Discussion
- See Also
- 1.5 Supply Default Values for Parameters
- Problem
- Solution
- Discussion
- See Also
- 1.6 Invoke a Long-Running or Background Command
- Problem
- Solution
- Discussion
- See Also
- 1.7 Program: Monitor a Command for Changes
- See Also
- 1.8 Notify Yourself of Job Completion
- Problem
- Solution
- Discussion
- See Also
- 1.9 Customize Your Shell, Profile, and Prompt
- Problem
- Solution
- Discussion
- See Also
- 1.10 Customize PowerShell's User Input Behavior
- Problem
- Solution
- Discussion
- See Also
- 1.11 Customize PowerShell's Command Resolution Behavior
- Problem
- Solution
- Discussion
- 1.12 Find a Command to Accomplish a Task
- Problem
- Solution
- Discussion
- See Also
- 1.13 Get Help on a Command
- Problem
- Solution
- Discussion
- See Also
- 1.14 Update System Help Content
- Problem
- Solution
- Discussion
- See Also
- 1.15 Program: Search Help for Text
- See Also
- 1.16 Launch PowerShell at a Specific Location
- Problem
- Solution
- Discussion
- 1.17 Invoke a PowerShell Command or Script from Outside PowerShell
- Problem
- Solution
- Discussion
- See Also
- 1.18 Understand and Customize PowerShell's Tab Completion
- Problem
- Solution
- Discussion
- See Also
- 1.19 Program: Learn Aliases for Common Commands
- See Also
- 1.20 Program: Learn Aliases for Common Parameters
- Problem
- Solution
- Discussion
- See Also
- 1.21 Access and Manage Your Console History
- Problem
- Solution
- Discussion
- See Also
- 1.22 Program: Create Scripts from Your Session History
- See Also
- 1.23 Invoke a Command from Your Session History
- Problem
- Solution
- Discussion
- See Also
- 1.24 Program: Search Formatted Output for a Pattern
- See Also
- 1.25 Interactively View and Process Command Output
- Problem
- Solution
- Discussion
- See Also
- 1.26 Program: Interactively View and Explore Objects
- See Also
- 1.27 Record a Transcript of Your Shell Session
- Problem
- Solution
- Discussion
- See Also
- 1.28 Extend Your Shell with Additional Commands
- Problem
- Solution
- Discussion
- See Also
- 1.29 Find and Install Additional PowerShell Scripts and Modules
- Problem
- Solution
- Discussion
- See Also
- 1.30 Use Commands from Customized Shells
- Problem
- Solution
- Discussion
- See Also
- 1.31 Save State Between Sessions
- Problem
- Solution
- Discussion
- See Also
- Chapter 2. Pipelines
- 2.0 Introduction
- 2.1 Chain Commands Based on Their Success or Error
- Problem
- Solution
- Discussion
- See Also
- 2.2 Filter Items in a List or Command Output
- Problem
- Solution
- Discussion
- See Also
- 2.3 Group and Pivot Data by Name
- Problem
- Solution
- Discussion
- See Also
- 2.4 Interactively Filter Lists of Objects
- See Also
- 2.5 Work with Each Item in a List or Command Output
- Problem
- Solution
- Discussion
- See Also
- 2.6 Automate Data-Intensive Tasks
- Problem
- Solution
- Discussion
- See Also
- 2.7 Intercept Stages of the Pipeline
- Problem
- Solution
- Discussion
- See Also
- 2.8 Automatically Capture Pipeline Output
- Problem
- Solution
- Discussion
- See Also
- 2.9 Capture and Redirect Binary Process Output
- Problem
- Solution
- Discussion
- See Also
- Chapter 3. Variables and Objects
- 3.0 Introduction
- 3.1 Display the Properties of an Item as a List
- Problem
- Solution
- Discussion
- 3.2 Display the Properties of an Item as a Table
- Problem
- Solution
- Discussion
- See Also
- 3.3 Store Information in Variables
- Problem
- Solution
- Discussion
- See Also
- 3.4 Access Environment Variables
- Problem
- Solution
- Discussion
- See Also
- 3.5 Program: Retain Changes to Environment Variables Set by a Batch File
- See Also
- 3.6 Control Access and Scope of Variables and Other Items
- Problem
- Solution
- Discussion
- See Also
- 3.7 Program: Create a Dynamic Variable
- 3.8 Work with .NET Objects
- Problem
- Solution
- Discussion
- See Also
- 3.9 Create an Instance of a .NET Object
- Problem
- Solution
- Discussion
- See Also
- 3.10 Create Instances of Generic Objects
- 3.11 Use a COM Object
- Problem
- Solution
- Discussion
- See Also
- 3.12 Learn About Types and Objects
- Problem
- Solution
- Discussion
- See Also
- 3.13 Get Detailed Documentation About Types and Objects
- Problem
- Solution
- Discussion
- See Also
- 3.14 Add Custom Methods and Properties to Objects
- Problem
- Solution
- Discussion
- See Also
- 3.15 Create and Initialize Custom Objects
- Problem
- Solution
- Discussion
- See Also
- 3.16 Add Custom Methods and Properties to Types
- Problem
- Solution
- Discussion
- 3.17 Define Custom Formatting for a Type
- Problem
- Solution
- Discussion
- Chapter 4. Looping and Flow Control
- 4.0 Introduction
- 4.1 Make Decisions with Comparison and Logical Operators
- Problem
- Solution
- Discussion
- See Also
- 4.2 Adjust Script Flow Using Conditional Statements
- Problem
- Solution
- Discussion
- 4.3 Manage Large Conditional Statements with Switches
- Problem
- Solution
- Discussion
- See Also
- 4.4 Repeat Operations with Loops
- Problem
- Solution
- Discussion
- See Also
- 4.5 Process Time-Consuming Action in Parallel
- Problem
- Solution
- Discussion
- See Also
- 4.6 Add a Pause or Delay
- Problem
- Solution
- Discussion
- See Also
- Chapter 5. Strings and Unstructured Text
- 5.0 Introduction
- 5.1 Create a String
- Problem
- Solution
- Discussion
- See Also
- 5.2 Create a Multiline or Formatted String
- Problem
- Solution
- Discussion
- 5.3 Place Special Characters in a String
- Problem
- Solution
- Discussion
- See Also
- 5.4 Insert Dynamic Information in a String
- Problem
- Solution
- Discussion
- See Also
- 5.5 Prevent a String from Including Dynamic Information
- Problem
- Solution
- Discussion
- See Also
- 5.6 Place Formatted Information in a String
- Problem
- Solution
- Discussion
- See Also
- 5.7 Search a String for Text or a Pattern
- Problem
- Solution
- Discussion
- See Also
- 5.8 Replace Text in a String
- Problem
- Solution
- Discussion
- See Also
- 5.9 Split a String on Text or a Pattern
- Problem
- Solution
- Discussion
- See Also
- 5.10 Combine Strings into a Larger String
- Problem
- Solution
- Discussion
- See Also
- 5.11 Convert a String to Uppercase or Lowercase
- Problem
- Solution
- Discussion
- See Also
- 5.12 Trim a String
- Problem
- Solution
- Discussion
- See Also
- 5.13 Format a Date for Output
- Problem
- Solution
- Discussion
- See Also
- 5.14 Convert a String Between One Format and Another
- Problem
- Solution
- Discussion
- See Also
- 5.15 Convert Text Streams to Objects
- Problem
- Solution
- Discussion
- See Also
- 5.16 Generate Large Reports and Text Streams
- Problem
- Solution
- Discussion
- 5.17 Generate Source Code and Other Repetitive Text
- Problem
- Solution
- Discussion
- Chapter 6. Calculations and Math
- 6.0 Introduction
- 6.1 Perform Simple Arithmetic
- Problem
- Solution
- Discussion
- See Also
- 6.2 Perform Complex Arithmetic
- Problem
- Solution
- Discussion
- See Also
- 6.3 Measure Statistical Properties of a List
- Problem
- Solution
- Discussion
- 6.4 Work with Numbers as Binary
- Problem
- Solution
- Discussion
- See Also
- 6.5 Simplify Math with Administrative Constants
- Problem
- Solution
- Discussion
- See Also
- 6.6 Convert Numbers Between Bases
- Problem
- Solution
- Discussion
- See Also
- Chapter 7. Lists, Arrays, and Hashtables
- 7.0 Introduction
- 7.1 Create an Array or List of Items
- Problem
- Solution
- Discussion
- See Also
- 7.2 Create a Jagged or Multidimensional Array
- Problem
- Solution
- Discussion
- See Also
- 7.3 Access Elements of an Array
- Problem
- Solution
- Discussion
- See Also
- 7.4 Visit Each Element of an Array
- Problem
- Solution
- Discussion
- See Also
- 7.5 Sort an Array or List of Items
- Problem
- Solution
- Discussion
- 7.6 Determine Whether an Array Contains an Item
- Problem
- Solution
- Discussion
- See Also
- 7.7 Combine Two Arrays
- Problem
- Solution
- Discussion
- See Also
- 7.8 Find Items in an Array That Match a Value
- Problem
- Solution
- Discussion
- See Also
- 7.9 Compare Two Lists
- Problem
- Solution
- Discussion
- See Also
- 7.10 Remove Elements from an Array
- Problem
- Solution
- Discussion
- See Also
- 7.11 Find Items in an Array Greater or Less Than a Value
- Problem
- Solution
- Discussion
- See Also
- 7.12 Use the ArrayList Class for Advanced Array Tasks
- Problem
- Solution
- Discussion
- See Also
- 7.13 Create a Hashtable or Associative Array
- Problem
- Solution
- Discussion
- See Also
- 7.14 Sort a Hashtable by Key or Value
- Problem
- Solution
- Discussion
- See Also
- Chapter 8. Utility Tasks
- 8.0 Introduction
- 8.1 Get the System Date and Time
- Problem
- Solution
- Discussion
- See Also
- 8.2 Measure the Duration of a Command
- Problem
- Solution
- Discussion
- See Also
- 8.3 Read and Write from the Clipboard
- Problem
- Solution
- Discussion
- See Also
- 8.4 Generate a Random Number or Object
- Problem
- Solution
- Discussion
- See Also
- 8.5 Convert Time Between Time Zones
- Problem
- Solution
- Discussion
- See Also
- 8.6 Program: Search the Windows Start Menu
- See Also
- 8.7 Program: Show Colorized Script Content
- Discussion
- See Also
- Part III. Common Tasks
- Chapter 9. Simple Files
- 9.0 Introduction
- 9.1 Get the Content of a File
- Problem
- Solution
- Discussion
- See Also
- 9.2 Store the Output of a Command into a File
- Problem
- Solution
- Discussion
- See Also
- 9.3 Add Information to the End of a File
- Problem
- Solution
- Discussion
- See Also
- 9.4 Search a File for Text or a Pattern
- Problem
- Solution
- Discussion
- See Also
- 9.5 Parse and Manage Text-Based Logfiles
- Problem
- Solution
- Discussion
- See Also
- 9.6 Parse and Manage Binary Files
- Problem
- Solution
- Discussion
- See Also
- 9.7 Create and Manage Temporary Files
- Problem
- Solution
- Discussion
- See Also
- 9.8 Search and Replace Text in a File
- Problem
- Solution
- Discussion
- See Also
- 9.9 Program: Get the Encoding of a File
- See Also
- 9.10 View the Hexadecimal Representation of Content
- Problem
- Solution
- Discussion
- See Also
- Chapter 10. Structured Files
- 10.0 Introduction
- 10.1 Access Information in an XML File
- Problem
- Solution
- Discussion
- See Also
- 10.2 Perform an XPath Query Against XML
- Problem
- Solution
- Discussion
- See Also
- 10.3 Convert Objects to XML
- Problem
- Solution
- Discussion
- See Also
- 10.4 Modify Data in an XML File
- Problem
- Solution
- Discussion
- 10.5 Easily Import and Export Your Structured Data
- Problem
- Solution
- Discussion
- 10.6 Store the Output of a Command in a CSV or Delimited File
- Problem
- Solution
- Discussion
- See Also
- 10.7 Import CSV and Delimited Data from a File
- Problem
- Solution
- Discussion
- See Also
- 10.8 Manage JSON Data Streams
- Problem
- Solution
- Discussion
- See Also
- 10.9 Use Excel to Manage Command Output
- Problem
- Solution
- Discussion
- See Also
- 10.10 Parse and Interpret PowerShell Scripts
- Problem
- Solution
- Discussion
- See Also
- Chapter 11. Code Reuse
- 11.0 Introduction
- 11.1 Write a Script
- Problem
- Solution
- Discussion
- See Also
- 11.2 Write a Function
- Problem
- Solution
- Discussion
- See Also
- 11.3 Find a Verb Appropriate for a Command Name
- Problem
- Solution
- Discussion
- See Also
- 11.4 Write a Script Block
- Problem
- Solution
- Discussion
- See Also
- 11.5 Return Data from a Script, Function, or Script Block
- Problem
- Solution
- Discussion
- See Also
- 11.6 Package Common Commands in a Module
- Problem
- Solution
- Discussion
- See Also
- 11.7 Write Commands That Maintain State
- Problem
- Solution
- Discussion
- See Also
- 11.8 Selectively Export Commands from a Module
- Problem
- Solution
- Discussion
- See Also
- 11.9 Diagnose and Interact with Internal Module State
- Problem
- Solution
- Discussion
- See Also
- 11.10 Handle Cleanup Tasks When a Module Is Removed
- Problem
- Solution
- Discussion
- See Also
- 11.11 Access Arguments of a Script, Function, or Script Block
- Problem
- Solution
- Discussion
- See Also
- 11.12 Add Validation to Parameters
- Problem
- Solution
- Discussion
- See Also
- 11.13 Accept Script Block Parameters with Local Variables
- Problem
- Solution
- Discussion
- See Also
- 11.14 Dynamically Compose Command Parameters
- Problem
- Solution
- Discussion
- See Also
- 11.15 Provide -WhatIf, -Confirm, and Other Cmdlet Features
- Problem
- Solution
- Discussion
- See Also
- 11.16 Add Help to Scripts or Functions
- Problem
- Solution
- Discussion
- See Also
- 11.17 Add Custom Tags to a Function or Script Block
- Problem
- Solution
- Discussion
- See Also
- 11.18 Access a Script's Pipeline Input
- Problem
- Solution
- Discussion
- See Also
- 11.19 Write Pipeline-Oriented Scripts with Cmdlet Keywords
- Problem
- Solution
- Discussion
- See Also
- 11.20 Write a Pipeline-Oriented Function
- Problem
- Solution
- Discussion
- See Also
- 11.21 Organize Scripts for Improved Readability
- Problem
- Solution
- Discussion
- See Also
- 11.22 Invoke Dynamically Named Commands
- Problem
- Solution
- Discussion
- See Also
- 11.23 Program: Enhance or Extend an Existing Cmdlet
- See Also
- Chapter 12. Internet-Enabled Scripts
- 12.0 Introduction
- 12.1 Download a File from an FTP or Internet Site
- Problem
- Solution
- Discussion
- See Also
- 12.2 Upload a File to an FTP Site
- Problem
- Solution
- Discussion
- See Also
- 12.3 Program: Resolve the Destination of an Internet Redirect
- See Also
- 12.4 Download a Web Page from the Internet
- Problem
- Solution
- Discussion
- See Also
- 12.5 Parse and Analyze a Web Page from the Internet
- Problem
- Solution
- Discussion
- See Also
- 12.6 Script a Web Application Session
- Problem
- Solution
- Discussion
- See Also
- 12.7 Interact with REST-Based Web APIs
- Problem
- Solution
- Discussion
- See Also
- 12.8 Connect to a Web Service
- Problem
- Solution
- Discussion
- See Also
- 12.9 Interact with and Manage Remote SSL Certificates
- Problem
- Solution
- Discussion
- See Also
- 12.10 Export Command Output as a Web Page
- Problem
- Solution
- Discussion
- 12.11 Send an Email
- Problem
- Solution
- Discussion
- 12.12 Program: Monitor Website Uptimes
- See Also
- 12.13 Program: Interact with Internet Protocols
- See Also
- Chapter 13. User Interaction
- 13.0 Introduction
- 13.1 Read a Line of User Input
- Problem
- Solution
- Discussion
- See Also
- 13.2 Read a Key of User Input
- Problem
- Solution
- Discussion
- 13.3 Program: Display a Menu to the User
- See Also
- 13.4 Display Messages and Output to the User
- Problem
- Solution
- Discussion
- See Also
- 13.5 Provide Progress Updates on Long-Running Tasks
- Problem
- Solution
- Discussion
- 13.6 Write Culture-Aware Scripts
- Problem
- Solution
- Discussion
- See Also
- 13.7 Support Other Languages in Script Output
- Problem
- Solution
- Discussion
- See Also
- 13.8 Program: Invoke a Script Block with Alternate Culture Settings
- See Also
- 13.9 Access Features of the Host's UI
- Problem
- Solution
- Discussion
- 13.10 Add a Graphical User Interface to Your Script
- Problem
- Solution
- Discussion
- See Also
- 13.11 Program: Add a Console UI to Your Script
- See Also
- 13.12 Interact with MTA Objects
- Problem
- Solution
- Discussion
- See Also
- Chapter 14. Debugging
- 14.0 Introduction
- 14.1 Prevent Common Scripting Errors
- Problem
- Solution
- Discussion
- See Also
- 14.2 Write Unit Tests for your Scripts
- Problem
- Solution
- Discussion
- See Also
- 14.3 Trace Script Execution
- Problem
- Solution
- Discussion
- See Also
- 14.4 Set a Script Breakpoint
- Problem
- Solution
- Discussion
- See Also
- 14.5 Debug a Script When It Encounters an Error
- Problem
- Solution
- Discussion
- See Also
- 14.6 Create a Conditional Breakpoint
- Problem
- Solution
- Discussion
- See Also
- 14.7 Investigate System State While Debugging
- Problem
- Solution
- Discussion
- See Also
- 14.8 Debug a Script on a Remote Machine
- Problem
- Solution
- Discussion
- See Also
- 14.9 Program: Watch an Expression for Changes
- See Also
- 14.10 Debug a Script in Another Process
- Problem
- Solution
- Discussion
- See Also
- 14.11 Program: Get Script Code Coverage
- See Also
- Chapter 15. Tracing and Error Management
- 15.0 Introduction
- 15.1 Determine the Status of the Last Command
- Problem
- Solution
- Discussion
- See Also
- 15.2 View the Errors Generated by a Command
- Problem
- Solution
- Discussion
- See Also
- 15.3 Manage the Error Output of Commands
- Problem
- Solution
- Discussion
- See Also
- 15.4 Program: Resolve an Error
- See Also
- 15.5 Configure Debug, Verbose, and Progress Output
- Problem
- Solution
- Discussion
- See Also
- 15.6 Handle Warnings, Errors, and Terminating Errors
- Problem
- Solution
- Discussion
- See Also
- 15.7 Output Warnings, Errors, and Terminating Errors
- Problem
- Solution
- Discussion
- See Also
- 15.8 Analyze a Script's Performance Profile
- Problem
- Solution
- Discussion
- See Also
- Chapter 16. Environmental Awareness
- 16.0 Introduction
- 16.1 View and Modify Environment Variables
- Problem
- Solution
- Discussion
- See Also
- 16.2 Modify the User or System Path
- Problem
- Solution
- Discussion
- See Also
- 16.3 Access Information About Your Command's Invocation
- Problem
- Solution
- Discussion
- 16.4 Program: Investigate the InvocationInfo Variable
- See Also
- 16.5 Find Your Script's Name
- Problem
- Solution
- Discussion
- See Also
- 16.6 Find Your Script's Location
- Problem
- Solution
- Discussion
- See Also
- 16.7 Find the Location of Common System Paths
- Problem
- Solution
- Discussion
- See Also
- 16.8 Get the Current Location
- Problem
- Solution
- Discussion
- See Also
- 16.9 Safely Build File Paths Out of Their Components
- Problem
- Solution
- Discussion
- 16.10 Interact with PowerShell's Global Environment
- Problem
- Solution
- Discussion
- See Also
- 16.11 Determine PowerShell Version Information
- Problem
- Solution
- Discussion
- 16.12 Test for Administrative Privileges
- Problem
- Solution
- Discussion
- See Also
- Chapter 17. Extend the Reach of PowerShell
- 17.0 Introduction
- 17.1 Automate Programs Using COM Scripting Interfaces
- Problem
- Solution
- Discussion
- See Also
- 17.2 Program: Query a SQL Data Source
- See Also
- 17.3 Access Windows Performance Counters
- Problem
- Solution
- Discussion
- 17.4 Access Windows API Functions
- Problem
- Solution
- Discussion
- See Also
- 17.5 Program: Invoke Simple Windows API Calls
- See Also
- 17.6 Define or Extend a .NET Class
- Problem
- Solution
- Discussion
- See Also
- 17.7 Add Inline C# to Your PowerShell Script
- Problem
- Solution
- Discussion
- See Also
- 17.8 Access a .NET SDK Library
- Problem
- Solution
- Discussion
- See Also
- 17.9 Create Your Own PowerShell Cmdlet
- Problem
- Solution
- Discussion
- See Also
- 17.10 Add PowerShell Scripting to Your Own Program
- Problem
- Solution
- Discussion
- See Also
- Chapter 18. Security and Script Signing
- 18.0 Introduction
- Defending Against PowerShell Attacks
- 18.1 Enable Scripting Through an Execution Policy
- Problem
- Solution
- Discussion
- See Also
- 18.2 Enable PowerShell Security Logging
- Problem
- Solution
- Discussion
- Protecting Against Information Disclosure
- See Also
- 18.3 Disable Warnings for UNC Paths
- Problem
- Solution
- Discussion
- See Also
- 18.4 Sign a PowerShell Script, Module, or Formatting File
- Problem
- Solution
- Discussion
- See Also
- 18.5 Create a Self-Signed Certificate
- Problem
- Solution
- Discussion
- See Also
- 18.6 Manage PowerShell Security in an Enterprise
- Problem
- Solution
- Discussion
- See Also
- 18.7 Block Scripts by Publisher, Path, or Hash
- Problem
- Solution
- Discussion
- See Also
- 18.8 Verify the Digital Signature of a PowerShell Script
- Problem
- Solution
- Discussion
- 18.9 Securely Handle Sensitive Information
- Problem
- Solution
- Discussion
- See Also
- 18.10 Securely Request Usernames and Passwords
- Problem
- Solution
- Discussion
- See Also
- 18.11 Start a Process as Another User
- Problem
- Solution
- Discussion
- See Also
- 18.12 Program: Run a Temporarily Elevated Command
- See Also
- 18.13 Securely Store Credentials on Disk
- Problem
- Solution
- Discussion
- See Also
- 18.14 Access User and Machine Certificates
- Problem
- Solution
- Discussion
- See Also
- 18.15 Program: Search the Certificate Store
- See Also
- 18.16 Add and Remove Certificates
- Problem
- Solution
- Discussion
- See Also
- 18.17 Manage Security Descriptors in SDDL Form
- Problem
- Solution
- Discussion
- See Also
- 18.18 Create a Task-Specific Remoting Endpoint
- Problem
- Solution
- Discussion
- See Also
- 18.19 Limit Interactive Use of PowerShell
- Problem
- Solution
- Discussion
- See Also
- 18.20 Detect and Prevent Code Injection Vulnerabilities
- Problem
- Solution
- Discussion
- See Also
- 18.21 Get the Cryptographic Hash of a File
- Problem
- Solution
- Discussion
- See Also
- 18.22 Capture and Validate Integrity of File Sets
- Problem
- Solution
- Discussion
- See Also
- Chapter 19. Visual Studio Code
- 19.0 Introduction
- 19.1 Debug a Script
- Problem
- Solution
- Discussion
- See Also
- 19.2 Connect to a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 19.3 Interact with Visual Studio Code Through Its Object Model
- Problem
- Solution
- Discussion
- See Also
- 19.4 Quickly Insert Script Snippets
- Problem
- Solution
- Discussion
- Part IV. Administrator Tasks
- Chapter 20. Files and Directories
- 20.0 Introduction
- 20.1 Determine and Change the Current Location
- Problem
- Solution
- Discussion
- See Also
- 20.2 Get the Files in a Directory
- Problem
- Solution
- Discussion
- See Also
- 20.3 Find All Files Modified Before a Certain Date
- Problem
- Solution
- Discussion
- See Also
- 20.4 Clear the Content of a File
- Problem
- Solution
- Discussion
- See Also
- 20.5 Manage and Change the Attributes of a File
- Problem
- Solution
- Discussion
- See Also
- 20.6 Find Files That Match a Pattern
- Problem
- Solution
- Discussion
- See Also
- 20.7 Manage Files That Include Special Characters
- Problem
- Solution
- Discussion
- 20.8 Program: Get Disk Usage Information
- See Also
- 20.9 Monitor a File for Changes
- Problem
- Solution
- Discussion
- 20.10 Get the Version of a DLL or Executable
- Problem
- Solution
- Discussion
- See Also
- 20.11 Create a Directory
- Problem
- Solution
- Discussion
- 20.12 Remove a File or Directory
- Problem
- Solution
- Discussion
- See Also
- 20.13 Rename a File or Directory
- Problem
- Solution
- Discussion
- See Also
- 20.14 Move a File or Directory
- Problem
- Solution
- Discussion
- See Also
- 20.15 Create and Map PowerShell Drives
- Problem
- Solution
- Discussion
- 20.16 Access Long File and Directory Names
- Problem
- Solution
- Discussion
- See Also
- 20.17 Unblock a File
- Problem
- Solution
- Discussion
- See Also
- 20.18 Interact with Alternate Data Streams
- Problem
- Solution
- Discussion
- See Also
- 20.19 Program: Move or Remove a Locked File
- See Also
- 20.20 Get the ACL of a File or Directory
- Problem
- Solution
- Discussion
- See Also
- 20.21 Set the ACL of a File or Directory
- Problem
- Solution
- Discussion
- See Also
- 20.22 Program: Add Extended File Properties to Files
- See Also
- 20.23 Manage ZIP Archives
- Problem
- Solution
- Discussion
- See Also
- Chapter 21. The Windows Registry
- 21.0 Introduction
- 21.1 Navigate the Registry
- Problem
- Solution
- Discussion
- See Also
- 21.2 View a Registry Key
- Problem
- Solution
- Discussion
- 21.3 Modify or Remove a Registry Key Value
- Problem
- Solution
- Discussion
- 21.4 Create a Registry Key Value
- Problem
- Solution
- Discussion
- 21.5 Remove a Registry Key
- Problem
- Solution
- Discussion
- See Also
- 21.6 Safely Combine Related Registry Modifications
- Problem
- Solution
- Discussion
- See Also
- 21.7 Add a Site to an Internet Explorer Security Zone
- Problem
- Solution
- Discussion
- See Also
- 21.8 Modify Internet Explorer Settings
- Problem
- Solution
- Discussion
- See Also
- 21.9 Program: Search the Windows Registry
- See Also
- 21.10 Get the ACL of a Registry Key
- Problem
- Solution
- Discussion
- See Also
- 21.11 Set the ACL of a Registry Key
- Problem
- Solution
- Discussion
- See Also
- 21.12 Work with the Registry of a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 21.13 Program: Get Registry Items from Remote Machines
- See Also
- 21.14 Program: Get Properties of Remote Registry Keys
- See Also
- 21.15 Program: Set Properties of Remote Registry Keys
- See Also
- 21.16 Discover Registry Settings for Programs
- Problem
- Solution
- Discussion
- See Also
- Chapter 22. Comparing Data
- 22.0 Introduction
- 22.1 Compare the Output of Two Commands
- Problem
- Solution
- Discussion
- 22.2 Determine the Differences Between Two Files
- Problem
- Solution
- Discussion
- Chapter 23. Event Logs
- 23.0 Introduction
- 23.1 List All Event Logs
- Problem
- Solution
- Discussion
- See Also
- 23.2 Get the Oldest Entries from an Event Log
- Problem
- Solution
- Discussion
- See Also
- 23.3 Find Event Log Entries with Specific Text
- Problem
- Solution
- Discussion
- See Also
- 23.4 Retrieve and Filter Event Log Entries
- Problem
- Solution
- Discussion
- See Also
- 23.5 Find Event Log Entries by Their Frequency
- Problem
- Solution
- Discussion
- See Also
- 23.6 Back Up an Event Log
- Problem
- Solution
- Discussion
- 23.7 Create or Remove an Event Log
- Problem
- Solution
- Discussion
- See Also
- 23.8 Write to an Event Log
- Problem
- Solution
- Discussion
- See Also
- 23.9 Run a PowerShell Script for Windows Event Log Entries
- Problem
- Solution
- Discussion
- See Also
- 23.10 Clear or Maintain an Event Log
- Problem
- Solution
- Discussion
- See Also
- 23.11 Access Event Logs of a Remote Machine
- Problem
- Solution
- Discussion
- See Also
- Chapter 24. Processes
- 24.0 Introduction
- 24.1 List Currently Running Processes
- Problem
- Solution
- Discussion
- See Also
- 24.2 Launch the Application Associated with a Document
- Problem
- Solution
- Discussion
- See Also
- 24.3 Launch a Process
- Problem
- Solution
- Discussion
- See Also
- 24.4 Stop a Process
- Problem
- Solution
- Discussion
- 24.5 Get the Owner of a Process
- Problem
- Solution
- Discussion
- See Also
- 24.6 Get the Parent Process of a Process
- Problem
- Solution
- Discussion
- See Also
- 24.7 Debug a Process
- Problem
- Solution
- Discussion
- See Also
- Chapter 25. System Services
- 25.0 Introduction
- 25.1 List All Running Services
- Problem
- Solution
- Discussion
- See Also
- 25.2 Manage a Running Service
- Problem
- Solution
- Discussion
- See Also
- 25.3 Configure a Service
- Problem
- Solution
- Discussion
- See Also
- Chapter 26. Active Directory
- 26.0 Introduction
- 26.1 Test Active Directory Scripts on a Local Installation
- Problem
- Solution
- Discussion
- See Also
- 26.2 Create an Organizational Unit
- Problem
- Solution
- Discussion
- See Also
- 26.3 Get the Properties of an Organizational Unit
- Problem
- Solution
- Discussion
- 26.4 Modify Properties of an Organizational Unit
- Problem
- Solution
- Discussion
- 26.5 Delete an Organizational Unit
- Problem
- Solution
- Discussion
- 26.6 Get the Children of an Active Directory Container
- Problem
- Solution
- Discussion
- See Also
- 26.7 Create a User Account
- Problem
- Solution
- Discussion
- See Also
- 26.8 Program: Import Users in Bulk to Active Directory
- See Also
- 26.9 Search for a User Account
- Problem
- Solution
- Discussion
- 26.10 Get and List the Properties of a User Account
- Problem
- Solution
- Discussion
- 26.11 Modify Properties of a User Account
- Problem
- Solution
- Discussion
- 26.12 Change a User Password
- Problem
- Solution
- Discussion
- See Also
- 26.13 Create a Security or Distribution Group
- Problem
- Solution
- Discussion
- See Also
- 26.14 Search for a Security or Distribution Group
- Problem
- Solution
- Discussion
- 26.15 Get the Properties of a Group
- Problem
- Solution
- Discussion
- 26.16 Find the Owner of a Group
- Problem
- Solution
- Discussion
- 26.17 Modify Properties of a Security or Distribution Group
- Problem
- Solution
- Discussion
- 26.18 Add a User to a Security or Distribution Group
- Problem
- Solution
- Discussion
- See Also
- 26.19 Remove a User from a Security or Distribution Group
- Problem
- Solution
- Discussion
- See Also
- 26.20 List a User's Group Membership
- Problem
- Solution
- Discussion
- See Also
- 26.21 List the Members of a Group
- Problem
- Solution
- Discussion
- See Also
- 26.22 List the Users in an Organizational Unit
- Problem
- Solution
- Discussion
- See Also
- 26.23 Search for a Computer Account
- Problem
- Solution
- Discussion
- 26.24 Get and List the Properties of a Computer Account
- Problem
- Solution
- Discussion
- Chapter 27. Enterprise Computer Management
- 27.0 Introduction
- 27.1 Join a Computer to a Domain or Workgroup
- Problem
- Solution
- Discussion
- See Also
- 27.2 Remove a Computer from a Domain
- Problem
- Solution
- Discussion
- See Also
- 27.3 Rename a Computer
- Problem
- Solution
- Discussion
- 27.4 Program: List Logon or Logoff Scripts for a User
- See Also
- 27.5 Program: List Startup or Shutdown Scripts for a Machine
- See Also
- 27.6 Deploy PowerShell-Based Logon Scripts
- Problem
- Solution
- Discussion
- See Also
- 27.7 Enable or Disable the Windows Firewall
- Problem
- Solution
- Discussion
- See Also
- 27.8 Open or Close Ports in the Windows Firewall
- Problem
- Solution
- Discussion
- See Also
- 27.9 Program: List All Installed Software
- See Also
- 27.10 Uninstall an Application
- Problem
- Solution
- Discussion
- See Also
- 27.11 Manage Computer Restore Points
- Problem
- Solution
- Discussion
- 27.12 Reboot or Shut Down a Computer
- Problem
- Solution
- Discussion
- See Also
- 27.13 Determine Whether a Hotfix Is Installed
- Problem
- Solution
- Discussion
- 27.14 Manage Scheduled Tasks on a Computer
- Problem
- Solution
- Discussion
- See Also
- 27.15 Retrieve Printer Information
- Problem
- Solution
- Discussion
- See Also
- 27.16 Retrieve Printer Queue Statistics
- Problem
- Solution
- Discussion
- See Also
- 27.17 Manage Printers and Print Queues
- Problem
- Solution
- Discussion
- See Also
- 27.18 Program: Summarize System Information
- See Also
- 27.19 Renew a DHCP Lease
- Problem
- Solution
- Discussion
- See Also
- 27.20 Assign a Static IP Address
- Problem
- Solution
- Discussion
- See Also
- 27.21 List All IP Addresses for a Computer
- Problem
- Solution
- Discussion
- See Also
- 27.22 List Network Adapter Properties
- Problem
- Solution
- Discussion
- See Also
- Chapter 28. CIM and Windows Management Instrumentation
- 28.0 Introduction
- The Shift to CIM
- 28.1 Access Windows Management Instrumentation and CIM Data
- Problem
- Solution
- Discussion
- See Also
- 28.2 Modify the Properties of a WMI or CIM Instance
- Problem
- Solution
- Discussion
- See Also
- 28.3 Invoke a Method on a WMI Instance or Class
- Problem
- Solution
- Discussion
- See Also
- 28.4 Program: Determine Properties Available to WMI and CIM Filters
- See Also
- 28.5 Search for the WMI or CIM Class to Accomplish a Task
- Problem
- Solution
- Discussion
- See Also
- 28.6 Use .NET to Perform Advanced WMI Tasks
- Problem
- Solution
- Discussion
- See Also
- 28.7 Convert a VBScript WMI Script to PowerShell
- Problem
- Solution
- Discussion
- See Also
- Chapter 29. Remoting
- 29.0 Introduction
- 29.1 Find Commands That Support Their Own Remoting
- Problem
- Solution
- Discussion
- See Also
- 29.2 Enable PowerShell Remoting on a Computer
- Problem
- Solution
- Discussion
- See Also
- 29.3 Enable SSH as a PowerShell Remoting Transport
- Problem
- Solution
- Discussion
- See Also
- 29.4 Interactively Manage a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 29.5 Invoke a Command on a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 29.6 Disconnect and Reconnect PowerShell Sessions
- Problem
- Solution
- Discussion
- See Also
- 29.7 Program: Remotely Enable PowerShell Remoting
- See Also
- 29.8 Program: Invoke a PowerShell Expression on a Remote Machine
- See Also
- 29.9 Test Connectivity Between Two Computers
- Problem
- Solution
- Discussion
- See Also
- 29.10 Limit Networking Scripts to Hosts That Respond
- Problem
- Solution
- Discussion
- See Also
- 29.11 Enable Remote Desktop on a Computer
- Problem
- Solution
- Discussion
- See Also
- 29.12 Configure User Permissions for Remoting
- Problem
- Solution
- Discussion
- See Also
- 29.13 Enable Remoting to Workgroup Computers
- Problem
- Solution
- Discussion
- 29.14 Implicitly Invoke Commands from a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 29.15 Create Sessions with Full Network Access
- Problem
- Solution
- Discussion
- See Also
- 29.16 Pass Variables to Remote Sessions
- Problem
- Solution
- Discussion
- See Also
- 29.17 Manage and Edit Files on Remote Machines
- Problem
- Solution
- Discussion
- See Also
- 29.18 Configure Advanced Remoting Quotas and Options
- Problem
- Solution
- Discussion
- See Also
- 29.19 Invoke a Command on Many Computers
- Problem
- Solution
- Discussion
- See Also
- 29.20 Run a Local Script on a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 29.21 Determine Whether a Script Is Running on a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- Chapter 30. Transactions
- 30.0 Introduction
- 30.1 Safely Experiment with Transactions
- Problem
- Solution
- Discussion
- See Also
- 30.2 Change Error Recovery Behavior in Transactions
- Problem
- Solution
- Discussion
- See Also
- Chapter 31. Event Handling
- 31.0 Introduction
- 31.1 Respond to Automatically Generated Events
- Problem
- Solution
- Discussion
- See Also
- 31.2 Create and Respond to Custom Events
- Problem
- Solution
- Discussion
- See Also
- 31.3 Create a Temporary Event Subscription
- Problem
- Solution
- Discussion
- See Also
- 31.4 Forward Events from a Remote Computer
- Problem
- Solution
- Discussion
- See Also
- 31.5 Investigate Internal Event Action State
- Problem
- Solution
- Discussion
- See Also
- 31.6 Use a Script Block as a .NET Delegate or Event Handler
- Problem
- Solution
- Discussion
- See Also
- Part V. References
- Appendix A. PowerShell Language and Environment
- Commands and Expressions
- Comments
- Help Comments
- Variables
- Booleans
- Strings
- Literal and Expanding Strings
- Here Strings
- Escape Sequences
- Numbers
- Simple Assignment
- Administrative Numeric Constants
- Hexadecimal and Other Number Bases
- Large Numbers
- Imaginary and Complex Numbers
- Arrays and Lists
- Array Definitions
- Array Access
- Array Slicing
- Hashtables (Associative Arrays)
- Hashtable Definitions
- Hashtable Access
- XML
- Simple Operators
- Arithmetic Operators
- Logical Operators
- Binary Operators
- Other Operators
- Comparison Operators
- Conditional Statements
- if, elseif, and else Statements
- Ternary Operators
- Null Coalescing and Assignment Operators
- switch Statements
- Looping Statements
- for Statement
- foreach Statement
- while Statement
- do . while Statement/do . until Statement
- Flow Control Statements
- Classes
- Custom Enumerations
- Workflow-Specific Statements
- Working with the .NET Framework
- Static Methods
- Instance Methods
- Explicitly Implemented Interface Methods
- Static Properties
- Instance Properties
- Learning About Types
- Type Shortcuts
- Creating Instances of Types
- Interacting with COM Objects
- Extending Types
- Writing Scripts, Reusing Functionality
- Writing Commands
- Running Commands
- Providing Input to Commands
- Retrieving Output from Commands
- Managing Errors
- Nonterminating Errors
- Terminating Errors
- Formatting Output
- Custom Formatting Files
- Capturing Output
- Common Customization Points
- Console Settings
- Profiles
- Prompts
- Tab Completion
- User Input
- Command Resolution
- Appendix B. Regular Expression Reference
- Appendix C. XPath Quick Reference
- Appendix D. .NET String Formatting
- String Formatting Syntax
- Standard Numeric Format Strings
- Custom Numeric Format Strings
- Appendix E. .NET DateTime Formatting
- Custom DateTime Format Strings
- Appendix F. Selected .NET Classes and Their Uses
- Appendix G. WMI Reference
- Appendix H. Selected COM Objects and Their Uses
- Appendix I. Selected Events and Their Uses
- Appendix J. Standard PowerShell Verbs
- Index
- About the Author
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.