PowerShell Cookbook, 4th Edition Год издания: 2021 Автор: Holmes Lee Издательство: O'Reilly ISBN: 978-1-098-10160-2 Язык: Английский Формат: PDF/ePub Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 1001 Описание: How do you use PowerShell to navigate the filesystem, manage files and folders, or retrieve a web page? This introduction to the PowerShell language and scripting environment provides more than 400 task-oriented recipes to help you solve all kinds of problems. Intermediate to advanced system administrators will find more than 100 tried-and-tested scripts they can copy and use immediately. Updated for PowerShell 5.1 and Open Source PowerShell up to 7.0 and beyond, this comprehensive cookbook includes hands-on recipes for common tasks and administrative jobs that you can apply whether you're on the client or server version of Windows. You also get quick references to technologies used in conjunction with PowerShell, including regular expressions, the XPath language, format specifiers, and frequently referenced .NET, COM, and WMI classes. Learn how to use PowerShell on Windows 10 and Windows Server 2019 Tour PowerShell's core features, including the command model, object-based pipeline, and ubiquitous scripting Master fundamentals such as the interactive shell, pipeline, and object concepts Perform common tasks that involve working with files, internet-connected scripts, user interaction, and more Solve tasks in systems and enterprise management, such as working with Active Directory and the filesystem
Примеры страниц
Оглавление
Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Part I. Tour A Guided Tour of PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Part II. Fundamentals 1. The PowerShell Interactive Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.0 Introduction 1 1.1 Install PowerShell Core 1 1.2 Run Programs, Scripts, and Existing Tools 5 1.3 Run a PowerShell Command 8 1.4 Resolve Errors Calling Native Executables 9 1.5 Supply Default Values for Parameters 11 1.6 Invoke a Long-Running or Background Command 13 1.7 Program: Monitor a Command for Changes 16 1.8 Notify Yourself of Job Completion 20 1.9 Customize Your Shell, Profile, and Prompt 21 1.10 Customize PowerShell’s User Input Behavior 24 1.11 Customize PowerShell’s Command Resolution Behavior 27 1.12 Find a Command to Accomplish a Task 30 1.13 Get Help on a Command 32 1.14 Update System Help Content 34 1.15 Program: Search Help for Text 36 iii 1.16 Launch PowerShell at a Specific Location 37 1.17 Invoke a PowerShell Command or Script from Outside PowerShell 39 1.18 Understand and Customize PowerShell’s Tab Completion 42 1.19 Program: Learn Aliases for Common Commands 46 1.20 Program: Learn Aliases for Common Parameters 48 1.21 Access and Manage Your Console History 50 1.22 Program: Create Scripts from Your Session History 52 1.23 Invoke a Command from Your Session History 54 1.24 Program: Search Formatted Output for a Pattern 56 1.25 Interactively View and Process Command Output 57 1.26 Program: Interactively View and Explore Objects 59 1.27 Record a Transcript of Your Shell Session 67 1.28 Extend Your Shell with Additional Commands 68 1.29 Find and Install Additional PowerShell Scripts and Modules 70 1.30 Use Commands from Customized Shells 72 1.31 Save State Between Sessions 73 2. Pipelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2.0 Introduction 77 2.1 Chain Commands Based on Their Success or Error 78 2.2 Filter Items in a List or Command Output 79 2.3 Group and Pivot Data by Name 81 2.4 Interactively Filter Lists of Objects 84 2.5 Work with Each Item in a List or Command Output 84 2.6 Automate Data-Intensive Tasks 88 2.7 Intercept Stages of the Pipeline 92 2.8 Automatically Capture Pipeline Output 93 2.9 Capture and Redirect Binary Process Output 95 3. Variables and Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.0 Introduction 101 3.1 Display the Properties of an Item as a List 102 3.2 Display the Properties of an Item as a Table 104 3.3 Store Information in Variables 106 3.4 Access Environment Variables 107 3.5 Program: Retain Changes to Environment Variables Set by a Batch File 110 3.6 Control Access and Scope of Variables and Other Items 112 3.7 Program: Create a Dynamic Variable 114 3.8 Work with .NET Objects 117 3.9 Create an Instance of a .NET Object 121 3.10 Create Instances of Generic Objects 124 3.11 Use a COM Object 125 iv | Table of Contents 3.12 Learn About Types and Objects 126 3.13 Get Detailed Documentation About Types and Objects 128 3.14 Add Custom Methods and Properties to Objects 130 3.15 Create and Initialize Custom Objects 132 3.16 Add Custom Methods and Properties to Types 136 3.17 Define Custom Formatting for a Type 141 4. Looping and Flow Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4.0 Introduction 145 4.1 Make Decisions with Comparison and Logical Operators 145 4.2 Adjust Script Flow Using Conditional Statements 148 4.3 Manage Large Conditional Statements with Switches 149 4.4 Repeat Operations with Loops 152 4.5 Process Time-Consuming Action in Parallel 154 4.6 Add a Pause or Delay 157 5. Strings and Unstructured Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.0 Introduction 159 5.1 Create a String 159 5.2 Create a Multiline or Formatted String 161 5.3 Place Special Characters in a String 162 5.4 Insert Dynamic Information in a String 163 5.5 Prevent a String from Including Dynamic Information 164 5.6 Place Formatted Information in a String 165 5.7 Search a String for Text or a Pattern 167 5.8 Replace Text in a String 169 5.9 Split a String on Text or a Pattern 171 5.10 Combine Strings into a Larger String 173 5.11 Convert a String to Uppercase or Lowercase 175 5.12 Trim a String 177 5.13 Format a Date for Output 178 5.14 Convert a String Between One Format and Another 180 5.15 Convert Text Streams to Objects 181 5.16 Generate Large Reports and Text Streams 186 5.17 Generate Source Code and Other Repetitive Text 188 6. Calculations and Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 6.0 Introduction 193 6.1 Perform Simple Arithmetic 193 6.2 Perform Complex Arithmetic 195 6.3 Measure Statistical Properties of a List 198 6.4 Work with Numbers as Binary 200 Table of Contents | v 6.5 Simplify Math with Administrative Constants 204 6.6 Convert Numbers Between Bases 205 7. Lists, Arrays, and Hashtables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.0 Introduction 209 7.1 Create an Array or List of Items 209 7.2 Create a Jagged or Multidimensional Array 211 7.3 Access Elements of an Array 212 7.4 Visit Each Element of an Array 214 7.5 Sort an Array or List of Items 215 7.6 Determine Whether an Array Contains an Item 216 7.7 Combine Two Arrays 217 7.8 Find Items in an Array That Match a Value 218 7.9 Compare Two Lists 219 7.10 Remove Elements from an Array 220 7.11 Find Items in an Array Greater or Less Than a Value 221 7.12 Use the ArrayList Class for Advanced Array Tasks 222 7.13 Create a Hashtable or Associative Array 223 7.14 Sort a Hashtable by Key or Value 225 8. Utility Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 8.0 Introduction 229 8.1 Get the System Date and Time 229 8.2 Measure the Duration of a Command 230 8.3 Read and Write from the Clipboard 232 8.4 Generate a Random Number or Object 233 8.5 Convert Time Between Time Zones 235 8.6 Program: Search the Windows Start Menu 236 8.7 Program: Show Colorized Script Content 237 Part III. Common Tasks 9. Simple Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 9.0 Introduction 245 9.1 Get the Content of a File 245 9.2 Store the Output of a Command into a File 247 9.3 Add Information to the End of a File 248 9.4 Search a File for Text or a Pattern 249 9.5 Parse and Manage Text-Based Logfiles 252 9.6 Parse and Manage Binary Files 255 9.7 Create and Manage Temporary Files 257 vi | Table of Contents 9.8 Search and Replace Text in a File 259 9.9 Program: Get the Encoding of a File 262 9.10 View the Hexadecimal Representation of Content 265 10. Structured Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 10.0 Introduction 267 10.1 Access Information in an XML File 268 10.2 Perform an XPath Query Against XML 270 10.3 Convert Objects to XML 272 10.4 Modify Data in an XML File 273 10.5 Easily Import and Export Your Structured Data 275 10.6 Store the Output of a Command in a CSV or Delimited File 277 10.7 Import CSV and Delimited Data from a File 278 10.8 Manage JSON Data Streams 280 10.9 Use Excel to Manage Command Output 281 10.10 Parse and Interpret PowerShell Scripts 283 11. Code Reuse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 11.0 Introduction 287 11.1 Write a Script 287 11.2 Write a Function 290 11.3 Find a Verb Appropriate for a Command Name 292 11.4 Write a Script Block 293 11.5 Return Data from a Script, Function, or Script Block 295 11.6 Package Common Commands in a Module 297 11.7 Write Commands That Maintain State 301 11.8 Selectively Export Commands from a Module 303 11.9 Diagnose and Interact with Internal Module State 305 11.10 Handle Cleanup Tasks When a Module Is Removed 307 11.11 Access Arguments of a Script, Function, or Script Block 308 11.12 Add Validation to Parameters 314 11.13 Accept Script Block Parameters with Local Variables 318 11.14 Dynamically Compose Command Parameters 320 11.15 Provide -WhatIf, -Confirm, and Other Cmdlet Features 322 11.16 Add Help to Scripts or Functions 325 11.17 Add Custom Tags to a Function or Script Block 327 11.18 Access a Script’s Pipeline Input 329 11.19 Write Pipeline-Oriented Scripts with Cmdlet Keywords 331 11.20 Write a Pipeline-Oriented Function 335 11.21 Organize Scripts for Improved Readability 336 11.22 Invoke Dynamically Named Commands 338 11.23 Program: Enhance or Extend an Existing Cmdlet 340 Table of Contents | vii 12. Internet-Enabled Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 12.0 Introduction 347 12.1 Download a File from an FTP or Internet Site 347 12.2 Upload a File to an FTP Site 348 12.3 Program: Resolve the Destination of an Internet Redirect 350 12.4 Download a Web Page from the Internet 351 12.5 Parse and Analyze a Web Page from the Internet 357 12.6 Script a Web Application Session 359 12.7 Interact with REST-Based Web APIs 363 12.8 Connect to a Web Service 366 12.9 Interact with and Manage Remote SSL Certificates 367 12.10 Export Command Output as a Web Page 369 12.11 Send an Email 369 12.12 Program: Monitor Website Uptimes 370 12.13 Program: Interact with Internet Protocols 372 13. User Interaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 13.0 Introduction 379 13.1 Read a Line of User Input 379 13.2 Read a Key of User Input 380 13.3 Program: Display a Menu to the User 381 13.4 Display Messages and Output to the User 383 13.5 Provide Progress Updates on Long-Running Tasks 386 13.6 Write Culture-Aware Scripts 388 13.7 Support Other Languages in Script Output 391 13.8 Program: Invoke a Script Block with Alternate Culture Settings 394 13.9 Access Features of the Host’s UI 395 13.10 Add a Graphical User Interface to Your Script 397 13.11 Program: Add a Console UI to Your Script 400 13.12 Interact with MTA Objects 402 14. Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 14.0 Introduction 405 14.1 Prevent Common Scripting Errors 407 14.2 Write Unit Tests for your Scripts 409 14.3 Trace Script Execution 411 14.4 Set a Script Breakpoint 414 14.5 Debug a Script When It Encounters an Error 417 14.6 Create a Conditional Breakpoint 419 14.7 Investigate System State While Debugging 421 14.8 Debug a Script on a Remote Machine 424 14.9 Program: Watch an Expression for Changes 426 viii | Table of Contents 14.10 Debug a Script in Another Process 428 14.11 Program: Get Script Code Coverage 430 15. Tracing and Error Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 15.0 Introduction 433 15.1 Determine the Status of the Last Command 434 15.2 View the Errors Generated by a Command 435 15.3 Manage the Error Output of Commands 437 15.4 Program: Resolve an Error 439 15.5 Configure Debug, Verbose, and Progress Output 440 15.6 Handle Warnings, Errors, and Terminating Errors 442 15.7 Output Warnings, Errors, and Terminating Errors 445 15.8 Analyze a Script’s Performance Profile 446 16. Environmental Awareness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 16.0 Introduction 449 16.1 View and Modify Environment Variables 449 16.2 Modify the User or System Path 451 16.3 Access Information About Your Command’s Invocation 452 16.4 Program: Investigate the InvocationInfo Variable 454 16.5 Find Your Script’s Name 457 16.6 Find Your Script’s Location 457 16.7 Find the Location of Common System Paths 458 16.8 Get the Current Location 461 16.9 Safely Build File Paths Out of Their Components 462 16.10 Interact with PowerShell’s Global Environment 463 16.11 Determine PowerShell Version Information 464 16.12 Test for Administrative Privileges 465 17. Extend the Reach of PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 17.0 Introduction 467 17.1 Automate Programs Using COM Scripting Interfaces 467 17.2 Program: Query a SQL Data Source 469 17.3 Access Windows Performance Counters 472 17.4 Access Windows API Functions 474 17.5 Program: Invoke Simple Windows API Calls 481 17.6 Define or Extend a .NET Class 484 17.7 Add Inline C# to Your PowerShell Script 487 17.8 Access a .NET SDK Library 489 17.9 Create Your Own PowerShell Cmdlet 491 17.10 Add PowerShell Scripting to Your Own Program 494 Table of Contents | ix 18. Security and Script Signing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 18.0 Introduction 499 18.1 Enable Scripting Through an Execution Policy 501 18.2 Enable PowerShell Security Logging 504 18.3 Disable Warnings for UNC Paths 509 18.4 Sign a PowerShell Script, Module, or Formatting File 510 18.5 Create a Self-Signed Certificate 512 18.6 Manage PowerShell Security in an Enterprise 513 18.7 Block Scripts by Publisher, Path, or Hash 515 18.8 Verify the Digital Signature of a PowerShell Script 518 18.9 Securely Handle Sensitive Information 519 18.10 Securely Request Usernames and Passwords 521 18.11 Start a Process as Another User 523 18.12 Program: Run a Temporarily Elevated Command 524 18.13 Securely Store Credentials on Disk 526 18.14 Access User and Machine Certificates 528 18.15 Program: Search the Certificate Store 529 18.16 Add and Remove Certificates 531 18.17 Manage Security Descriptors in SDDL Form 532 18.18 Create a Task-Specific Remoting Endpoint 534 18.19 Limit Interactive Use of PowerShell 537 18.20 Detect and Prevent Code Injection Vulnerabilities 539 18.21 Get the Cryptographic Hash of a File 543 18.22 Capture and Validate Integrity of File Sets 544 19. Visual Studio Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 19.0 Introduction 547 19.1 Debug a Script 549 19.2 Connect to a Remote Computer 551 19.3 Interact with Visual Studio Code Through Its Object Model 552 19.4 Quickly Insert Script Snippets 553 Part IV. Administrator Tasks 20. Files and Directories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 20.0 Introduction 557 20.1 Determine and Change the Current Location 558 20.2 Get the Files in a Directory 560 20.3 Find All Files Modified Before a Certain Date 562 20.4 Clear the Content of a File 563 20.5 Manage and Change the Attributes of a File 564 x | Table of Contents 20.6 Find Files That Match a Pattern 565 20.7 Manage Files That Include Special Characters 568 20.8 Program: Get Disk Usage Information 569 20.9 Monitor a File for Changes 571 20.10 Get the Version of a DLL or Executable 572 20.11 Create a Directory 573 20.12 Remove a File or Directory 573 20.13 Rename a File or Directory 574 20.14 Move a File or Directory 576 20.15 Create and Map PowerShell Drives 576 20.16 Access Long File and Directory Names 578 20.17 Unblock a File 579 20.18 Interact with Alternate Data Streams 581 20.19 Program: Move or Remove a Locked File 582 20.20 Get the ACL of a File or Directory 584 20.21 Set the ACL of a File or Directory 586 20.22 Program: Add Extended File Properties to Files 587 20.23 Manage ZIP Archives 590 21. The Windows Registry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 21.0 Introduction 593 21.1 Navigate the Registry 593 21.2 View a Registry Key 594 21.3 Modify or Remove a Registry Key Value 595 21.4 Create a Registry Key Value 596 21.5 Remove a Registry Key 597 21.6 Safely Combine Related Registry Modifications 598 21.7 Add a Site to an Internet Explorer Security Zone 600 21.8 Modify Internet Explorer Settings 602 21.9 Program: Search the Windows Registry 603 21.10 Get the ACL of a Registry Key 605 21.11 Set the ACL of a Registry Key 606 21.12 Work with the Registry of a Remote Computer 608 21.13 Program: Get Registry Items from Remote Machines 610 21.14 Program: Get Properties of Remote Registry Keys 612 21.15 Program: Set Properties of Remote Registry Keys 613 21.16 Discover Registry Settings for Programs 615 22. Comparing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 22.0 Introduction 619 22.1 Compare the Output of Two Commands 619 22.2 Determine the Differences Between Two Files 621 Table of Contents | xi 23. Event Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 23.0 Introduction 623 23.1 List All Event Logs 623 23.2 Get the Oldest Entries from an Event Log 624 23.3 Find Event Log Entries with Specific Text 625 23.4 Retrieve and Filter Event Log Entries 627 23.5 Find Event Log Entries by Their Frequency 630 23.6 Back Up an Event Log 632 23.7 Create or Remove an Event Log 633 23.8 Write to an Event Log 635 23.9 Run a PowerShell Script for Windows Event Log Entries 636 23.10 Clear or Maintain an Event Log 637 23.11 Access Event Logs of a Remote Machine 639 24. Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 24.0 Introduction 641 24.1 List Currently Running Processes 642 24.2 Launch the Application Associated with a Document 643 24.3 Launch a Process 644 24.4 Stop a Process 646 24.5 Get the Owner of a Process 647 24.6 Get the Parent Process of a Process 648 24.7 Debug a Process 649 25. System Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 25.0 Introduction 651 25.1 List All Running Services 651 25.2 Manage a Running Service 653 25.3 Configure a Service 654 26. Active Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 26.0 Introduction 655 26.1 Test Active Directory Scripts on a Local Installation 656 26.2 Create an Organizational Unit 658 26.3 Get the Properties of an Organizational Unit 659 26.4 Modify Properties of an Organizational Unit 660 26.5 Delete an Organizational Unit 661 26.6 Get the Children of an Active Directory Container 662 26.7 Create a User Account 662 26.8 Program: Import Users in Bulk to Active Directory 663 26.9 Search for a User Account 666 26.10 Get and List the Properties of a User Account 667 xii | Table of Contents 26.11 Modify Properties of a User Account 667 26.12 Change a User Password 668 26.13 Create a Security or Distribution Group 669 26.14 Search for a Security or Distribution Group 670 26.15 Get the Properties of a Group 671 26.16 Find the Owner of a Group 672 26.17 Modify Properties of a Security or Distribution Group 673 26.18 Add a User to a Security or Distribution Group 674 26.19 Remove a User from a Security or Distribution Group 674 26.20 List a User’s Group Membership 675 26.21 List the Members of a Group 676 26.22 List the Users in an Organizational Unit 676 26.23 Search for a Computer Account 677 26.24 Get and List the Properties of a Computer Account 679 27. Enterprise Computer Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 27.0 Introduction 681 27.1 Join a Computer to a Domain or Workgroup 681 27.2 Remove a Computer from a Domain 682 27.3 Rename a Computer 683 27.4 Program: List Logon or Logoff Scripts for a User 684 27.5 Program: List Startup or Shutdown Scripts for a Machine 685 27.6 Deploy PowerShell-Based Logon Scripts 687 27.7 Enable or Disable the Windows Firewall 688 27.8 Open or Close Ports in the Windows Firewall 688 27.9 Program: List All Installed Software 689 27.10 Uninstall an Application 691 27.11 Manage Computer Restore Points 692 27.12 Reboot or Shut Down a Computer 694 27.13 Determine Whether a Hotfix Is Installed 695 27.14 Manage Scheduled Tasks on a Computer 696 27.15 Retrieve Printer Information 699 27.16 Retrieve Printer Queue Statistics 700 27.17 Manage Printers and Print Queues 702 27.18 Program: Summarize System Information 703 27.19 Renew a DHCP Lease 705 27.20 Assign a Static IP Address 706 27.21 List All IP Addresses for a Computer 708 27.22 List Network Adapter Properties 709 28. CIM and Windows Management Instrumentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 28.0 Introduction 711 Table of Contents | xiii 28.1 Access Windows Management Instrumentation and CIM Data 713 28.2 Modify the Properties of a WMI or CIM Instance 716 28.3 Invoke a Method on a WMI Instance or Class 718 28.4 Program: Determine Properties Available to WMI and CIM Filters 719 28.5 Search for the WMI or CIM Class to Accomplish a Task 720 28.6 Use .NET to Perform Advanced WMI Tasks 725 28.7 Convert a VBScript WMI Script to PowerShell 726 29. Remoting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 29.0 Introduction 731 29.1 Find Commands That Support Their Own Remoting 732 29.2 Enable PowerShell Remoting on a Computer 733 29.3 Enable SSH as a PowerShell Remoting Transport 735 29.4 Interactively Manage a Remote Computer 737 29.5 Invoke a Command on a Remote Computer 740 29.6 Disconnect and Reconnect PowerShell Sessions 744 29.7 Program: Remotely Enable PowerShell Remoting 746 29.8 Program: Invoke a PowerShell Expression on a Remote Machine 747 29.9 Test Connectivity Between Two Computers 750 29.10 Limit Networking Scripts to Hosts That Respond 753 29.11 Enable Remote Desktop on a Computer 754 29.12 Configure User Permissions for Remoting 754 29.13 Enable Remoting to Workgroup Computers 756 29.14 Implicitly Invoke Commands from a Remote Computer 758 29.15 Create Sessions with Full Network Access 760 29.16 Pass Variables to Remote Sessions 763 29.17 Manage and Edit Files on Remote Machines 765 29.18 Configure Advanced Remoting Quotas and Options 767 29.19 Invoke a Command on Many Computers 769 29.20 Run a Local Script on a Remote Computer 771 29.21 Determine Whether a Script Is Running on a Remote Computer 772 30. Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773 30.0 Introduction 773 30.1 Safely Experiment with Transactions 775 30.2 Change Error Recovery Behavior in Transactions 777 31. Event Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 31.0 Introduction 781 31.1 Respond to Automatically Generated Events 782 31.2 Create and Respond to Custom Events 785 31.3 Create a Temporary Event Subscription 788 xiv | Table of Contents 31.4 Forward Events from a Remote Computer 789 31.5 Investigate Internal Event Action State 790 31.6 Use a Script Block as a .NET Delegate or Event Handler 792 Part V. References A. PowerShell Language and Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 B. Regular Expression Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861 C. XPath Quick Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 D. .NET String Formatting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 E. .NET DateTime Formatting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 F. Selected .NET Classes and Their Uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885 G. WMI Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 H. Selected COM Objects and Their Uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 I. Selected Events and Their Uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 J. Standard PowerShell Verbs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum