Windows PowerShell Cookbook: The Complete Guide to Scripting Microsoft's Command Shell [3 ed.] 1449320686, 9781449320683, 2973033063

How do you use Windows PowerShell to navigate the filesystem, manage files and folders, or retrieve a web page? This int

291 101 15MB

English Pages 1036 Year 2013

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Copyright......Page 4
Table of Contents......Page 5
Foreword......Page 19
Preface......Page 21
Part I: Tour......Page 22
Part V: References......Page 23
Conventions Used in This Book......Page 24
Safari® Books Online......Page 25
Acknowledgments......Page 26
Part I. Tour......Page 29
A Guided Tour of Windows PowerShell......Page 31
Part II. Fundamentals......Page 45
Solution......Page 47
Discussion......Page 48
See Also......Page 50
Discussion......Page 51
Discussion......Page 52
Solution......Page 54
Discussion......Page 55
Problem......Page 56
Discussion......Page 57
See Also......Page 59
1.6. Program: Monitor a Command for Changes......Page 60
See Also......Page 62
See Also......Page 63
Solution......Page 64
Discussion......Page 65
See Also......Page 66
Discussion......Page 67
Solution......Page 68
Discussion......Page 69
Solution......Page 71
Discussion......Page 72
Solution......Page 73
Discussion......Page 74
Discussion......Page 75
See Also......Page 76
1.14. Program: Search Help for Text......Page 77
Solution......Page 78
Discussion......Page 79
Solution......Page 80
Discussion......Page 81
See Also......Page 82
Discussion......Page 83
1.18. Program: Learn Aliases for Common Commands......Page 87
Solution......Page 89
Discussion......Page 91
Solution......Page 92
Discussion......Page 93
1.21. Program: Create Scripts from Your Session History......Page 94
Discussion......Page 96
1.23. Program: Search Formatted Output for a Pattern......Page 97
Solution......Page 98
Discussion......Page 99
1.25. Program: Interactively View and Explore Objects......Page 100
Discussion......Page 107
Solution......Page 108
Discussion......Page 109
Discussion......Page 110
Discussion......Page 112
Solution......Page 113
See Also......Page 115
2.0. Introduction......Page 117
Solution......Page 118
Problem......Page 119
Discussion......Page 120
2.3. Program: Simplify Most Where-Object Filters......Page 122
2.4. Program: Interactively Filter Lists of Objects......Page 124
Discussion......Page 127
Solution......Page 129
Discussion......Page 131
2.7. Program: Simplify Most Foreach-Object Pipelines......Page 133
See Also......Page 135
See Also......Page 136
Solution......Page 137
Discussion......Page 138
Solution......Page 139
Discussion......Page 141
See Also......Page 143
3.0. Introduction......Page 145
Discussion......Page 146
Discussion......Page 148
Solution......Page 150
Solution......Page 151
Discussion......Page 152
3.5. Program: Retain Changes to Environment Variables Set by a Batch File......Page 154
Solution......Page 156
Discussion......Page 157
3.7. Program: Create a Dynamic Variable......Page 158
Solution......Page 161
Discussion......Page 162
See Also......Page 165
Discussion......Page 166
3.10. Create Instances of Generic Objects......Page 168
Solution......Page 169
Discussion......Page 170
Problem......Page 171
Discussion......Page 172
Solution......Page 173
Discussion......Page 174
Solution......Page 175
Discussion......Page 176
Discussion......Page 178
Discussion......Page 182
Problem......Page 186
Discussion......Page 187
Solution......Page 191
Discussion......Page 192
Problem......Page 193
Discussion......Page 194
Discussion......Page 195
Solution......Page 198
Discussion......Page 199
Problem......Page 200
Discussion......Page 201
See Also......Page 202
Problem......Page 203
Discussion......Page 204
Discussion......Page 205
Discussion......Page 206
Discussion......Page 207
Solution......Page 208
Solution......Page 209
Discussion......Page 210
Solution......Page 211
Discussion......Page 212
Solution......Page 213
Discussion......Page 214
Discussion......Page 215
See Also......Page 217
Discussion......Page 218
Solution......Page 219
Discussion......Page 220
Discussion......Page 221
Solution......Page 222
Discussion......Page 223
5.14. Program: Convert Text Streams to Objects......Page 224
See Also......Page 227
Discussion......Page 228
Discussion......Page 230
Solution......Page 235
Discussion......Page 236
Solution......Page 237
Discussion......Page 238
See Also......Page 240
Solution......Page 241
Solution......Page 242
Discussion......Page 243
Solution......Page 246
Problem......Page 247
Solution......Page 248
See Also......Page 249
Solution......Page 251
Solution......Page 253
Problem......Page 254
Discussion......Page 255
Solution......Page 256
Solution......Page 257
Solution......Page 258
Solution......Page 259
Problem......Page 260
Problem......Page 261
Solution......Page 262
Solution......Page 263
Solution......Page 264
See Also......Page 265
Discussion......Page 266
Discussion......Page 267
See Also......Page 269
Discussion......Page 271
Discussion......Page 272
Solution......Page 274
Solution......Page 276
Discussion......Page 277
8.5. Program: Search the Windows Start Menu......Page 278
Discussion......Page 279
See Also......Page 284
Part III. Common Tasks......Page 285
Solution......Page 287
Discussion......Page 288
Solution......Page 289
Discussion......Page 290
Solution......Page 292
Discussion......Page 294
Solution......Page 295
Discussion......Page 297
Discussion......Page 298
Solution......Page 299
Discussion......Page 300
See Also......Page 302
9.7. Program: Get the Encoding of a File......Page 303
9.8. Program: View the Hexadecimal Representation of Content......Page 305
See Also......Page 308
Problem......Page 309
Solution......Page 310
Discussion......Page 311
Solution......Page 312
Discussion......Page 313
Discussion......Page 314
Solution......Page 315
Solution......Page 317
Discussion......Page 319
Solution......Page 320
Discussion......Page 321
Discussion......Page 322
Solution......Page 323
Discussion......Page 324
Solution......Page 325
Discussion......Page 326
See Also......Page 329
Solution......Page 331
Discussion......Page 332
Solution......Page 334
Discussion......Page 335
Discussion......Page 336
Solution......Page 337
Discussion......Page 338
Solution......Page 339
Discussion......Page 340
Solution......Page 342
Discussion......Page 343
Problem......Page 345
Discussion......Page 346
See Also......Page 347
Discussion......Page 348
See Also......Page 349
Solution......Page 350
See Also......Page 351
Solution......Page 352
Solution......Page 353
Discussion......Page 355
See Also......Page 357
Discussion......Page 358
Solution......Page 362
Discussion......Page 363
Discussion......Page 364
See Also......Page 365
Discussion......Page 366
Problem......Page 368
Solution......Page 369
Discussion......Page 370
Discussion......Page 371
Solution......Page 373
Discussion......Page 374
Solution......Page 375
Discussion......Page 376
Solution......Page 379
Solution......Page 380
Discussion......Page 381
Solution......Page 382
See Also......Page 383
11.23. Program: Enhance or Extend an Existing Cmdlet......Page 384
See Also......Page 391
Solution......Page 393
Solution......Page 394
Discussion......Page 395
Discussion......Page 396
Solution......Page 401
Discussion......Page 402
Problem......Page 403
Discussion......Page 404
12.6. Program: Get-PageUrls......Page 407
Discussion......Page 411
Solution......Page 413
Discussion......Page 414
Solution......Page 415
Discussion......Page 416
12.11. Program: Monitor Website Uptimes......Page 417
See Also......Page 418
12.12. Program: Interact with Internet Protocols......Page 419
See Also......Page 423
Problem......Page 425
Solution......Page 426
13.3. Program: Display a Menu to the User......Page 427
Solution......Page 429
Discussion......Page 430
Solution......Page 432
Problem......Page 433
Discussion......Page 434
Solution......Page 437
Discussion......Page 438
13.8. Program: Invoke a Script Block with Alternate Culture Settings......Page 440
See Also......Page 441
Discussion......Page 442
13.10. Program: Add a Graphical User Interface to Your Script......Page 443
Discussion......Page 446
See Also......Page 448
14.0. Introduction......Page 449
Problem......Page 450
Discussion......Page 451
Problem......Page 452
Discussion......Page 453
See Also......Page 455
Discussion......Page 456
Solution......Page 458
Solution......Page 460
Discussion......Page 461
Problem......Page 462
Solution......Page 463
Discussion......Page 464
14.7. Program: Watch an Expression for Changes......Page 465
See Also......Page 467
14.8. Program: Get Script Code Coverage......Page 468
See Also......Page 470
Problem......Page 471
Discussion......Page 472
Solution......Page 473
Discussion......Page 474
Solution......Page 475
15.4. Program: Resolve an Error......Page 476
See Also......Page 477
Discussion......Page 478
See Also......Page 479
Discussion......Page 480
Problem......Page 483
15.8. Program: Analyze a Script’s Performance Profile......Page 484
See Also......Page 489
Solution......Page 491
Discussion......Page 492
Problem......Page 493
Problem......Page 494
Discussion......Page 495
16.4. Program: Investigate the InvocationInfo Variable......Page 496
Discussion......Page 499
Discussion......Page 500
Discussion......Page 501
Discussion......Page 504
Solution......Page 505
Discussion......Page 506
Discussion......Page 507
Discussion......Page 508
See Also......Page 509
Problem......Page 511
See Also......Page 512
17.2. Program: Query a SQL Data Source......Page 513
Discussion......Page 516
Solution......Page 518
Discussion......Page 520
17.5. Program: Invoke Simple Windows API Calls......Page 525
Solution......Page 528
Discussion......Page 529
Solution......Page 531
Discussion......Page 532
Discussion......Page 533
Discussion......Page 535
Solution......Page 538
Discussion......Page 539
See Also......Page 541
18.0. Introduction......Page 543
Solution......Page 544
Discussion......Page 545
Discussion......Page 547
Solution......Page 548
Discussion......Page 549
Discussion......Page 550
Solution......Page 551
Discussion......Page 552
See Also......Page 553
Discussion......Page 554
Problem......Page 555
Discussion......Page 556
Discussion......Page 557
Discussion......Page 559
18.10. Program: Start a Process as Another User......Page 560
18.11. Program: Run a Temporarily Elevated Command......Page 562
Solution......Page 565
See Also......Page 566
Discussion......Page 567
18.14. Program: Search the Certificate Store......Page 568
See Also......Page 569
Discussion......Page 570
Solution......Page 571
See Also......Page 572
19.0. Introduction......Page 573
Discussion......Page 575
Solution......Page 577
Discussion......Page 578
Discussion......Page 579
Discussion......Page 580
Solution......Page 581
Discussion......Page 582
Discussion......Page 583
See Also......Page 584
Part IV. Administrator Tasks......Page 585
20.0. Introduction......Page 587
Discussion......Page 588
Discussion......Page 589
Discussion......Page 591
Discussion......Page 592
Discussion......Page 593
Solution......Page 594
Discussion......Page 595
Solution......Page 597
20.8. Program: Get Disk Usage Information......Page 598
Discussion......Page 600
Discussion......Page 601
20.11. Program: Get the MD5 or SHA1 Hash of a File......Page 602
Problem......Page 604
Discussion......Page 605
Discussion......Page 606
Solution......Page 607
Solution......Page 608
Discussion......Page 609
Discussion......Page 610
Discussion......Page 611
Solution......Page 612
Discussion......Page 613
20.20. Program: Move or Remove a Locked File......Page 614
Problem......Page 615
Discussion......Page 616
Problem......Page 617
See Also......Page 618
20.23. Program: Add Extended File Properties to Files......Page 619
20.24. Program: Create a Filesystem Hard Link......Page 621
20.25. Program: Create a ZIP Archive......Page 623
See Also......Page 625
Solution......Page 627
Solution......Page 628
Solution......Page 629
Solution......Page 630
Discussion......Page 631
Solution......Page 632
Discussion......Page 633
Discussion......Page 634
Discussion......Page 636
21.9. Program: Search the Windows Registry......Page 637
Solution......Page 639
Solution......Page 640
Discussion......Page 641
Solution......Page 642
Discussion......Page 643
21.13. Program: Get Registry Items from Remote Machines......Page 644
21.14. Program: Get Properties of Remote Registry Keys......Page 646
21.15. Program: Set Properties of Remote Registry Keys......Page 648
Discussion......Page 650
See Also......Page 653
Solution......Page 655
Discussion......Page 656
Discussion......Page 657
Discussion......Page 658
See Also......Page 659
Solution......Page 661
Solution......Page 663
Solution......Page 664
Discussion......Page 665
Discussion......Page 666
Discussion......Page 669
Solution......Page 671
Solution......Page 672
See Also......Page 673
Problem......Page 674
Discussion......Page 675
Solution......Page 676
Discussion......Page 677
Discussion......Page 678
See Also......Page 679
24.0. Introduction......Page 681
Discussion......Page 682
Solution......Page 683
Solution......Page 684
Discussion......Page 685
Discussion......Page 686
Discussion......Page 687
Discussion......Page 688
Discussion......Page 689
See Also......Page 690
Solution......Page 691
Discussion......Page 692
Discussion......Page 693
Discussion......Page 694
See Also......Page 695
26.0. Introduction......Page 697
Discussion......Page 698
Discussion......Page 701
Discussion......Page 702
Solution......Page 703
See Also......Page 704
Discussion......Page 705
26.8. Program: Import Users in Bulk to Active Directory......Page 706
Discussion......Page 708
Discussion......Page 709
Discussion......Page 710
Problem......Page 711
Discussion......Page 712
Discussion......Page 713
Discussion......Page 714
Discussion......Page 715
Solution......Page 716
Discussion......Page 717
Problem......Page 718
Solution......Page 719
Solution......Page 720
Problem......Page 721
Discussion......Page 722
Solution......Page 723
Solution......Page 724
Discussion......Page 725
27.4. Program: List Logon or Logoff Scripts for a User......Page 726
27.5. Program: List Startup or Shutdown Scripts for a Machine......Page 727
See Also......Page 729
Problem......Page 730
See Also......Page 731
27.9. Program: List All Installed Software......Page 732
Problem......Page 733
Solution......Page 734
Discussion......Page 735
Solution......Page 736
See Also......Page 737
Problem......Page 738
Discussion......Page 739
Solution......Page 742
Solution......Page 743
Discussion......Page 744
Solution......Page 745
27.18. Program: Summarize System Information......Page 746
Discussion......Page 748
Problem......Page 749
See Also......Page 750
Discussion......Page 751
Discussion......Page 752
See Also......Page 753
28.0. Introduction......Page 755
The Shift to CIM......Page 757
Solution......Page 758
Discussion......Page 759
Solution......Page 760
Discussion......Page 761
Solution......Page 762
Discussion......Page 763
28.4. Program: Determine Properties Available to WMI and CIM Filters......Page 764
28.5. Program: Search for WMI Classes......Page 765
Problem......Page 768
Solution......Page 769
Discussion......Page 770
Solution......Page 771
Discussion......Page 772
See Also......Page 775
29.0. Introduction......Page 777
Solution......Page 778
See Also......Page 779
Discussion......Page 780
See Also......Page 781
Discussion......Page 782
Solution......Page 784
Discussion......Page 785
Problem......Page 788
Discussion......Page 789
See Also......Page 790
29.6. Program: Remotely Enable PowerShell Remoting......Page 791
29.7. Program: Invoke a PowerShell Expression on a Remote Machine......Page 793
Solution......Page 796
Discussion......Page 797
See Also......Page 798
See Also......Page 799
Solution......Page 800
Discussion......Page 801
Solution......Page 802
Discussion......Page 803
Solution......Page 804
Discussion......Page 805
Discussion......Page 807
Discussion......Page 811
Discussion......Page 813
Problem......Page 815
Discussion......Page 816
Solution......Page 817
29.19. Program: Transfer a File to a Remote Computer......Page 818
Discussion......Page 821
Discussion......Page 822
See Also......Page 827
30.0. Introduction......Page 829
Solution......Page 830
Discussion......Page 831
Solution......Page 836
Discussion......Page 837
Solution......Page 839
Discussion......Page 840
Solution......Page 842
Discussion......Page 843
Solution......Page 844
Discussion......Page 845
Discussion......Page 847
Solution......Page 853
Discussion......Page 854
Discussion......Page 855
Solution......Page 856
Discussion......Page 857
Solution......Page 858
Discussion......Page 859
Discussion......Page 862
See Also......Page 864
31.0. Introduction......Page 865
Solution......Page 867
Discussion......Page 868
Solution......Page 869
Discussion......Page 870
See Also......Page 871
32.0. Introduction......Page 873
Solution......Page 874
Discussion......Page 875
Solution......Page 877
Discussion......Page 878
Discussion......Page 880
Solution......Page 881
Solution......Page 882
Discussion......Page 883
Solution......Page 884
Discussion......Page 885
See Also......Page 886
Part V. References......Page 887
Commands and Expressions......Page 889
Comments......Page 890
Help Comments......Page 891
Variables......Page 892
Strings......Page 893
Here Strings......Page 894
Simple Assignment......Page 895
Hexadecimal and Other Number Bases......Page 896
Array Definitions......Page 897
Array Access......Page 898
Array Slicing......Page 899
XML......Page 900
Arithmetic Operators......Page 901
Binary Operators......Page 903
Other Operators......Page 905
Comparison Operators......Page 907
if, elseif, and else Statements......Page 910
switch Statements......Page 911
foreach Statement......Page 913
do … while Statement/do … until Statement......Page 914
Flow Control Statements......Page 915
Workflow-Specific Statements......Page 918
Instance Methods......Page 919
Learning About Types......Page 920
Type Shortcuts......Page 921
Creating Instances of Types......Page 922
Extending Types......Page 923
Writing Commands......Page 925
Running Commands......Page 927
Providing Input to Commands......Page 930
Retrieving Output from Commands......Page 935
Help Documentation......Page 936
Nonterminating Errors......Page 937
Terminating Errors......Page 938
Formatting Output......Page 939
Capturing Output......Page 941
Console Settings......Page 942
Profiles......Page 944
Command Resolution......Page 945
Appendix B. Regular Expression Reference......Page 947
Appendix C. XPath Quick Reference......Page 957
Standard Numeric Format Strings......Page 961
Custom Numeric Format Strings......Page 962
Appendix E. .NET DateTime Formatting......Page 965
Custom DateTime Format Strings......Page 966
Appendix F. Selected .NET Classes and Their Uses......Page 971
Appendix G. WMI Reference......Page 979
Appendix H. Selected COM Objects and Their Uses......Page 987
Appendix I. Selected Events and Their Uses......Page 991
Appendix J. Standard PowerShell Verbs......Page 999
Index......Page 1003
About the Author......Page 1036

Windows PowerShell Cookbook: The Complete Guide to Scripting Microsoft's Command Shell [3 ed.]
 1449320686, 9781449320683, 2973033063

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers