Корично изображение Книга

Windows PowerShell cookbook : the complete guide to scripting Microsoft's command shell /

Основен автор: Holmes, Lee.
Формат: Книга
Език: English
Публикувано: Farnham : O'Reilly, 2013.
Издание: 3rd ed.
Предмети:
Съдържание:
  • Machine generated contents note: pt. I Tour
  • pt. II Fundamentals
  • 1.The Windows PowerShell Interactive Shell
  • 1.1.Run Programs, Scripts, and Existing Tools
  • 1.2.Run a PowerShell Command
  • 1.3.Resolve Errors Calling Native Executables
  • 1.4.Supply Default Values for Parameters
  • 1.5.Invoke a Long-Running or Background Command
  • 1.6.Program: Monitor a Command for Changes
  • 1.7.Notify Yourself of Job Completion
  • 1.8.Customize Your Shell, Profile, and Prompt
  • 1.9.Customize PowerShell's User Input Behavior
  • 1.10.Customize PowerShell's Command Resolution Behavior
  • 1.11.Find a Command to Accomplish a Task
  • 1.12.Get Help on a Command
  • 1.13.Update System Help Content
  • 1.14.Program: Search Help for Text
  • 1.15.Launch PowerShell at a Specific Location
  • 1.16.Invoke a PowerShell Command or Script from Outside PowerShell
  • 1.17.Understand and Customize PowerShell's Tab Completion
  • 1.18.Program: Learn Aliases for Common Commands
  • 1.19.Program: Learn Aliases for Common Parameters
  • 1.20.Access and Manage Your Console History
  • 1.21.Program: Create Scripts from Your Session History
  • 1.22.Invoke a Command from Your Session History
  • 1.23.Program: Search Formatted Output for a Pattern
  • 1.24.Interactively View and Process Command Output
  • 1.25.Program: Interactively View and Explore Objects
  • 1.26.Store the Output of a Command into a File
  • 1.27.Add Information to the End of a File
  • 1.28.Record a Transcript of Your Shell Session
  • 1.29.Extend Your Shell with Additional Commands
  • 1.30.Use Commands from Customized Shells
  • 1.31.Save State Between Sessions
  • 2.Pipelines
  • 2.1.Filter Items in a List or Command Output
  • 2.2.Group and Pivot Data by Name
  • 2.3.Program: Simplify Most Where-Object Filters
  • 2.4.Program: Interactively Filter Lists of Objects
  • 2.5.Work with Each Item in a List or Command Output
  • 2.6.Automate Data-Intensive Tasks
  • 2.7.Program: Simplify Most Foreach-Object Pipelines
  • 2.8.Intercept Stages of the Pipeline
  • 2.9.Automatically Capture Pipeline Output
  • 2.10.Capture and Redirect Binary Process Output
  • 3.Variables and Objects
  • 3.1.Display the Properties of an Item as a List
  • 3.2.Display the Properties of an Item as a Table
  • 3.3.Store Information in Variables
  • 3.4.Access Environment Variables
  • 3.5.Program: Retain Changes to Environment Variables Set by a Batch File
  • 3.6.Control Access and Scope of Variables and Other Items
  • 3.7.Program: Create a Dynamic Variable
  • 3.8.Work with .NET Objects
  • 3.9.Create an Instance of a .NET Object
  • 3.10.Create Instances of Generic Objects
  • 3.11.Reduce Typing for Long Class Names
  • 3.12.Use a COM Object
  • 3.13.Learn About Types and Objects
  • 3.14.Get Detailed Documentation About Types and Objects
  • 3.15.Add Custom Methods and Properties to Objects
  • 3.16.Create and Initialize Custom Objects
  • 3.17.Add Custom Methods and Properties to Types
  • 3.18.Define Custom Formatting for a Type
  • 4.Looping and Flow Control
  • 4.1.Make Decisions with Comparison and Logical Operators
  • 4.2.Adjust Script Flow Using Conditional Statements
  • 4.3.Manage Large Conditional Statements with Switches
  • 4.4.Repeat Operations with Loops
  • 4.5.Add a Pause or Delay
  • 5.Strings and Unstructured Text
  • 5.1.Create a String
  • 5.2.Create a Multiline or Formatted String
  • 5.3.Place Special Characters in a String
  • 5.4.Insert Dynamic Information in a String
  • 5.5.Prevent a String from Including Dynamic Information
  • 5.6.Place Formatted Information in a String
  • 5.7.Search a String for Text or a Pattern
  • 5.8.Replace Text in a String
  • 5.9.Split a String on Text or a Pattern
  • 5.10.Combine Strings into a Larger String
  • 5.11.Convert a String to Uppercase or Lowercase
  • 5.12.Trim a String
  • 5.13.Format a Date for Output
  • 5.14.Program: Convert Text Streams to Objects
  • 5.15.Generate Large Reports and Text Streams
  • 5.16.Generate Source Code and Other Repetitive Text
  • 6.Calculations and Math
  • 6.1.Perform Simple Arithmetic
  • 6.2.Perform Complex Arithmetic
  • 6.3.Measure Statistical Properties of a List
  • 6.4.Work with Numbers as Binary
  • 6.5.Simplify Math with Administrative Constants
  • 6.6.Convert Numbers Between Bases
  • 7.Lists, Arrays, and Hashtables
  • 7.1.Create an Array or List of Items
  • 7.2.Create a Jagged or Multidimensional Array
  • 7.3.Access Elements of an Array
  • 7.4.Visit Each Element of an Array
  • 7.5.Sort an Array or List of Items
  • 7.6.Determine Whether an Array Contains an Item
  • 7.7.Combine Two Arrays
  • 7.8.Find Items in an Array That Match a Value
  • 7.9.Compare Two Lists
  • 7.10.Remove Elements from an Array
  • 7.11.Find Items in an Array Greater or Less Than a Value
  • 7.12.Use the ArrayList Class for Advanced Array Tasks
  • 7.13.Create a Hashtable or Associative Array
  • 7.14.Sort a Hashtable by Key or Value
  • 8.Utility Tasks
  • 8.1.Get the System Date and Time
  • 8.2.Measure the Duration of a Command
  • 8.3.Read and Write from the Windows Clipboard
  • 8.4.Generate a Random Number or Object
  • 8.5.Program: Search the Windows Start Menu
  • 8.6.Program: Show Colorized Script Content
  • pt. III Common Tasks
  • 9.Simple Files
  • 9.1.Get the Content of a File
  • 9.2.Search a File for Text or a Pattern
  • 9.3.Parse and Manage Text-Based Logfiles
  • 9.4.Parse and Manage Binary Files
  • 9.5.Create a Temporary File
  • 9.6.Search and Replace Text in a File
  • 9.7.Program: Get the Encoding of a File
  • 9.8.Program: View the Hexadecimal Representation of Content
  • 10.Structured Files
  • 10.1.Access Information in an XML File
  • 10.2.Perform an XPath Query Against XML
  • 10.3.Convert Objects to XML
  • 10.4.Modify Data in an XML File
  • 10.5.Easily Import and Export Your Structured Data
  • 10.6.Store the Output of a Command in a CSV or Delimited File
  • 10.7.Import CSV and Delimited Data from a File
  • 10.8.Manage JSON Data Streams
  • 10.9.Use Excel to Manage Command Output
  • 10.10.Parse and Interpret PowerShell Scripts
  • 11.Code Reuse
  • 11.1.Write a Script
  • 11.2.Write a Function
  • 11.3.Find a Verb Appropriate for a Command Name
  • 11.4.Write a Script Block
  • 11.5.Return Data from a Script, Function, or Script Block
  • 11.6.Package Common Commands in a Module
  • 11.7.Write Commands That Maintain State
  • 11.8.Selectively Export Commands from a Module
  • 11.9.Diagnose and Interact with Internal Module State
  • 11.10.Handle Cleanup Tasks When a Module Is Removed
  • 11.11.Access Arguments of a Script, Function, or Script Block
  • 11.12.Add Validation to Parameters
  • 11.13.Accept Script Block Parameters with Local Variables
  • 11.14.Dynamically Compose Command Parameters
  • 11.15.Provide -WhatIf, -Confirm, and Other Cmdlet Features
  • 11.16.Add Help to Scripts or Functions
  • 11.17.Add Custom Tags to a Function or Script Block
  • 11.18.Access Pipeline Input
  • 11.19.Write Pipeline-Oriented Scripts with Cmdlet Keywords
  • 11.20.Write a Pipeline-Oriented Function
  • 11.21.Organize Scripts for Improved Readability
  • 11.22.Invoke Dynamically Named Commands
  • 11.23.Program: Enhance or Extend an Existing Cmdlet
  • 12.Internet-Enabled Scripts
  • 12.1.Download a File from an FTP or Internet Site
  • 12.2.Upload a File to an FTP Site
  • 12.3.Download a Web Page from the Internet
  • 12.4.Parse and Analyze a Web Page from the Internet
  • 12.5.Script a Web Application Session
  • 12.6.Program: Get-PageUrls
  • 12.7.Interact with REST-Based Web APIs
  • 12.8.Connect to a Web Service
  • 12.9.Export Command Output as a Web Page
  • 12.10.Send an Email
  • 12.11.Program: Monitor Website Uptimes
  • 12.12.Program: Interact with Internet Protocols
  • 13.User Interaction
  • 13.1.Read a Line of User Input
  • 13.2.Read a Key of User Input
  • 13.3.Program: Display a Menu to the User
  • 13.4.Display Messages and Output to the User
  • 13.5.Provide Progress Updates on Long-Running Tasks
  • 13.6.Write Culture-Aware Scripts
  • 13.7.Support Other Languages in Script Output
  • 13.8.Program: Invoke a Script Block with Alternate Culture Settings
  • 13.9.Access Features of the Host's User Interface
  • 13.10.Program: Add a Graphical User Interface to Your Script
  • 13.11.Interact with MTA Objects
  • 14.Debugging
  • 14.1.Prevent Common Scripting Errors
  • 14.2.Trace Script Execution
  • 14.3.Set a Script Breakpoint
  • 14.4.Debug a Script When It Encounters an Error
  • 14.5.Create a Conditional Breakpoint
  • 14.6.Investigate System State While Debugging
  • 14.7.Program: Watch an Expression for Changes
  • 14.8.Program: Get Script Code Coverage
  • 15.Tracing and Error Management
  • 15.1.Determine the Status of the Last Command
  • 15.2.View the Errors Generated by a Command
  • 15.3.Manage the Error Output of Commands
  • 15.4.Program: Resolve an Error
  • 15.5.Configure Debug, Verbose, and Progress Output
  • 15.6.Handle Warnings, Errors, and Terminating Errors
  • 15.7.Output Warnings, Errors, and Terminating Errors
  • 15.8.Program: Analyze a Script's Performance Profile
  • 16.Environmental Awareness
  • 16.1.View and Modify Environment Variables
  • 16.2.Modify the User or System Path
  • 16.3.Access Information About Your Command's Invocation
  • 16.4.Program: Investigate the InvocationInfo Variable
  • 16.5.Find Your Script's Name
  • 16.6.Find Your Script's Location
  • 16.7.Find the Location of Common System Paths
  • 16.8.Get the Current Location
  • 16.9.Safely Build File Paths Out of Their Components
  • 16.10.Interact with PowerShell's Global Environment
  • 16.11.Determine PowerShell Version Information
  • 16.12.Test for Administrative Privileges
  • 17.Extend the Reach of Windows PowerShell
  • 17.1.Automate Programs Using COM Scripting Interfaces
  • 17.2.Program: Query a SQL Data Source
  • 17.3.Access Windows Performance Counters
  • 17.4.Access Windows API Functions
  • 17.5.Program: Invoke Simple Windows API Calls
  • 17.6.Define or Extend a .NET Class
  • 17.7.Add Inline C# to Your PowerShell Script
  • 17.8.Access a NET SDK Library
  • 17.9.Create Your Own PowerShell Cmdlet
  • Note continued: 17.10.Add PowerShell Scripting to Your Own Program
  • 18.Security and Script Signing
  • 18.1.Enable Scripting Through ah Execution Policy
  • 18.2.Disable Warnings for UNC Paths
  • 18.3.Sign a PowerShell Script, Module, or Formatting File
  • 18.4.Program: Create a Self-Signed Certificate
  • 18.5.Manage PowerShell Security in an Enterprise
  • 18.6.Block Scripts by Publisher, Path, or Hash
  • 18.7.Verify the Digital Signature of a PowerShell Script
  • 18.8.Securely Handle Sensitive Information
  • 18.9.Securely Request Usernames and Passwords
  • 18.10.Program: Start a Process as Another User
  • 18.11.Program: Run a Temporarily Elevated Command
  • 18.12.Securely Store Credentials on Disk
  • 18.13.Access User and Machine Certificates
  • 18.14.Program: Search the Certificate Store
  • 18.15.Add and Remove Certificates
  • 18.16.Manage Security Descriptors in SDDL Form
  • 19.Integrated Scripting Environment
  • 19.1.Debug a Script
  • 19.2.Customize Text and User Interface Colors
  • 19.3.Connect to a Remote Computer
  • 19.4.Extend ISE Functionality Through Its Object Model
  • 19.5.Quickly Insert Script Snippets
  • 19.6.Add an Item to the Tools Menu
  • pt. IV Administrator Tasks
  • 20.Files and Directories
  • 20.1.Determine the Current Location
  • 20.2.Get the Files in a Directory
  • 20.3.Find All Files Modified Before a Certain Date
  • 20.4.Clear the Content of a File
  • 20.5.Manage and Change the Attributes of a File
  • 20.6.Find Files That Match a Pattern
  • 20.7.Manage Files That Include Special Characters
  • 20.8.Program: Get Disk Usage Information
  • 20.9.Monitor a File for Changes
  • 20.10.Get the Version of a DLL or Executable
  • 20.11.Program: Get the MD5 or SHA1 Hash of a File
  • 20.12.Create a Directory
  • 20.13.Remove a File or Directory
  • 20.14.Rename a File or Directory
  • 20.15.Move a File or Directory
  • 20.16.Create and Map PowerShell Drives
  • 20.17.Access Long File and Directory Names
  • 20.18.Unblock a File
  • 20.19.Interact with Alternate Data Streams
  • 20.20.Program: Move or Remove a Locked File
  • 20.21.Get the ACL of a File or Directory
  • 20.22.Set the ACL of a File or Directory
  • 20.23.Program: Add Extended File Properties to Files
  • 20.24.Program: Create a Filesystem Hard Link
  • 20.25.Program: Create a ZIP Archive
  • 21.The Windows Registry
  • 21.1.Navigate the Registry
  • 21.2.View a Registry Key
  • 21.3.Modify or Remove a Registry Key Value
  • 21.4.Create a Registry Key Value
  • 21.5.Remove a Registry Key
  • 21.6.Safely Combine Related Registry Modifications
  • 21.7.Add a Site to an Internet Explorer Security Zone
  • 21.8.Modify Internet Explorer Settings
  • 21.9.Program: Search the Windows Registry
  • 21.10.Get the ACL of a Registry Key
  • 21.11.Set the ACL of a Registry Key
  • 21.12.Work with the Registry of a Remote Computer
  • 21.13.Program: Get Registry Items from Remote Machines
  • 21.14.Program: Get Properties of Remote Registry Keys
  • 21.15.Program: Set Properties of Remote Registry Keys
  • 21.16.Discover Registry Settings for Programs
  • 22.Comparing Data
  • 22.1.Compare the Output of Two Commands
  • 22.2.Determine the Differences Between Two Files
  • 22.3.Verify Integrity of File Sets
  • 23.Event Logs
  • 23.1.List All Event Logs
  • 23.2.Get the Newest Entries from an Event Log
  • 23.3.Find Event Log Entries with Specific Text
  • 23.4.Retrieve and Filter Event Log Entries
  • 23.5.Find Event Log Entries by Their Frequency
  • 23.6.Back Up an Event Log
  • 23.7.Create or Remove an Event Log
  • 23.8.Write to an Event Log
  • 23.9.Run a PowerShell Script for Windows Event Log Entries
  • 23.10.Clear or Maintain an Event Log
  • 23.11.Access Event Logs of a Remote Machine
  • 24.Processes
  • 24.1.List Currently Running Processes
  • 24.2.Launch the Application Associated with a Document
  • 24.3.Launch a Process
  • 24.4.Stop a Process
  • 24.5.Get the Owner of a Process
  • 24.6.Get the Parent Process of a Process
  • 24.7.Debug a Process
  • 25.System Services
  • 25.1.List All Running Services
  • 25.2.Manage a Running Service
  • 25.3.Configure a Service
  • 26.Active Directory
  • 26.1.Test Active Directory Scripts on a Local Installation
  • 26.2.Create an Organizational Unit
  • 26.3.Get the Properties of an Organizational Unit
  • 26.4.Modify Properties of an Organizational Unit
  • 26.5.Delete an Organizational Unit
  • 26.6.Get the Children of an Active Directory Container
  • 26.7.Create a User Account
  • 26.8.Program: Import Users in Bulk to Active Directory
  • 26.9.Search for a User Account
  • 26.10.Get and List the Properties of a User Account
  • 26.11.Modify Properties of a User Account
  • 26.12.Change a User Password
  • 26.13.Create a Security or Distribution Group
  • 26.14.Search for a Security or Distribution Group
  • 26.15.Get the Properties of a Group
  • 26.16.Find the Owner of a Group
  • 26.17.Modify Properties of a Security or Distribution Group
  • 26.18.Add a User to a Security or Distribution Group
  • 26.19.Remove a User from a Security or Distribution Group
  • 26.20.List a User's Group Membership
  • 26.21.List the Members of a Group
  • 26.22.List the Users in an Organizational Unit
  • 26.23.Search for a Computer Account
  • 26.24.Get and List the Properties of a Computer Account
  • 27.Enterprise Computer Management
  • 27.1.Join a Computer to a Domain or Workgroup
  • 27.2.Remove a Computer from a Domain
  • 27.3.Rename a Computer
  • 27.4.Program: List Logon or Logoff Scripts for a User
  • 27.5.Program: List Startup or Shutdown Scripts for a Machine
  • 27.6.Deploy PowerShell-Based Logon Scripts
  • 27.7.Enable or Disable the Windows Firewall
  • 27.8.Open or Close Ports in the Windows Firewall
  • 27.9.Program: List All Installed Software
  • 27.10.Uninstall an Application
  • 27.11.Manage Computer Restore Points
  • 27.12.Reboot or Shut Down a Computer
  • 27.13.Determine Whether a Hotfix Is Installed
  • 27.14.Manage Scheduled Tasks on a Computer
  • 27.15.Retrieve Printer Information
  • 27.16.Retrieve Printer Queue Statistics
  • 27.17.Manage Printers and Print Queues
  • 27.18.Program: Summarize System Information
  • 27.19.Renew a DHCP Lease
  • 27.20.Assign a Static IP Address
  • 27.21.List All IP Addresses for a Computer
  • 27.22.List Network Adapter Properties
  • 28.Windows Management Instrumentation
  • 28.1.Access Windows Management Instrumentation and CIM Data
  • 28.2.Modify the Properties of a WMI or CIM Instance
  • 28.3.Invoke a Method on a WMI Instance or Class
  • 28.4.Program: Determine Properties Available to WMI and CIM Filters
  • 28.5.Program: Search for WMI Classes
  • 28.6.Use NET to Perform Advanced WMI Tasks
  • 28.7.Improve the Performance of Large-Scale WMI Operations
  • 28.8.Convert a VBScript WMI Script to PowerShell
  • 29.Remoting
  • 29.1.Find Commands That Support Their Own Remoting
  • 29.2.Enable PowerShell Remoting on a Computer
  • 29.3.Interactively Manage a Remote Computer
  • 29.4.Invoke a Command on a Remote Computer
  • 29.5.Disconnect and Reconnect PowerShell Sessions
  • 29.6.Program: Remotely Enable PowerShell Remoting
  • 29.7.Program: Invoke a PowerShell Expression on a Remote Machine
  • 29.8.Test Connectivity Between Two Computers
  • 29.9.Limit Networking Scripts to Hosts That Respond
  • 29.10.Enable Remote Desktop on a Computer
  • 29.11.Configure User Permissions for Remoting
  • 29.12.Enable Remoting to Workgroup Computers
  • 29.13.Implicitly Invoke Commands from a Remote Computer
  • 29.14.Create Sessions with Full Network Access
  • 29.15.Pass Variables to Remote Sessions
  • 29.16.Configure Advanced Remoting Quotas and Options
  • 29.17.Invoke a Command on Many Computers
  • 29.18.Run a Local Script on a Remote Computer
  • 29.19.Program: Transfer a File to a Remote Computer
  • 29.20.Determine Whether a Script Is Running on a Remote Computer
  • 29.21.Create a Task-Specific Remoting Endpoint
  • 30.Workflows
  • 30.1.Write a Workflow
  • 30.2.Run a Workflow
  • 30.3.Suspend and Resume a Workflow
  • 30.4.Invoke Islands of Traditional PowerShell Script
  • 30.5.Invoke Workflow Actions in Parallel
  • 30.6.Customize an Activity's Connection Parameters
  • 30.7.Write a Workflow That Requires Human Intervention
  • 30.8.Add Raw XAML to a Workflow
  • 30.9.Reference Custom Activities in a Workflow
  • 30.10.Debug or Troubleshoot a Workflow
  • 30.11.Use PowerShell Activities from a Traditional Windows Workflow Application
  • 31.Transactions
  • 31.1.Safely Experiment with Transactions
  • 31.2.Change Error Recovery Behavior in Transactions
  • 32.Event Handling
  • 32.1.Respond to Automatically Generated Events
  • 32.2.Create and Respond to Custom Events
  • 32.3.Create a Temporary Event Subscription
  • 32.4.Forward Events from a Remote Computer
  • 32.5.Investigate Internal Event Action State
  • 32.6.Use a Script Block as a NET Delegate or Event Handler
  • pt. V References
  • A.PowerShell Language and Environment
  • B.Regular Expression Reference
  • C.XPath Quick Reference
  • D..NET String Formatting
  • E..NET DateTime Formatting
  • F.Selected .NET Classes and Their Uses
  • G.WMI Reference
  • H.Selected COM Objects and Their Uses
  • I.Selected Events and Their Uses
  • J.Standard PowerShell Verbs.