| Preface |
|
1 | (4) |
|
Chapter 1 Find What You're Looking for |
|
|
5 | (18) |
|
|
|
7 | (4) |
|
Updatable contextual help |
|
|
11 | (4) |
|
|
|
11 | (1) |
|
|
|
12 | (1) |
|
|
|
13 | (1) |
|
|
|
14 | (1) |
|
The auto-discovery cmdlet |
|
|
15 | (7) |
|
Understanding cmdlet auto-discovery |
|
|
17 | (1) |
|
Things to know about auto-discovery |
|
|
18 | (4) |
|
|
|
22 | (1) |
|
Chapter 2 Usability Enhancements |
|
|
23 | (18) |
|
The problem with Where-Object and ForEach-Object |
|
|
24 | (7) |
|
Fixing the problem with Where-Object |
|
|
25 | (4) |
|
Fixing the problem with ForEach-Object |
|
|
29 | (2) |
|
Enhancements to tab completion |
|
|
31 | (3) |
|
Improvements to Get-ChildItem |
|
|
34 | (6) |
|
The problem with Get-ChildItem |
|
|
35 | (2) |
|
|
|
37 | (3) |
|
|
|
40 | (1) |
|
Chapter 3 Improved Administration |
|
|
41 | (24) |
|
|
|
42 | (22) |
|
|
|
44 | (2) |
|
Viewing scheduled jobs in the Windows Task Scheduler |
|
|
46 | (2) |
|
|
|
48 | (1) |
|
The need for a more robust system |
|
|
49 | (1) |
|
Examining PowerShell session configurations |
|
|
50 | (1) |
|
Modifying existing session configurations |
|
|
51 | (2) |
|
Creating a delegated session configuration |
|
|
53 | (1) |
|
Registering new session configurations |
|
|
53 | (1) |
|
Connecting to a newly registered session configuration |
|
|
54 | (1) |
|
Robust and resilient remote sessions |
|
|
55 | (1) |
|
|
|
55 | (1) |
|
|
|
56 | (3) |
|
Experimenting with resilient sessions |
|
|
59 | (2) |
|
Improved Restart-Computer |
|
|
61 | (1) |
|
The enhanced Restart-Computer |
|
|
61 | (1) |
|
Installing a product which requires a restart |
|
|
62 | (1) |
|
Using the delay parameter |
|
|
63 | (1) |
|
Using different communication protocols |
|
|
63 | (1) |
|
|
|
64 | (1) |
|
Chapter 4 Windows Workflow in PowerShell |
|
|
65 | (32) |
|
Understanding Windows Workflow |
|
|
66 | (2) |
|
Integrating Windows Workflow with PowerShell |
|
|
68 | (15) |
|
|
|
69 | (3) |
|
Workflow common parameters |
|
|
72 | (2) |
|
|
|
74 | (1) |
|
|
|
75 | (1) |
|
Custom workflow parameters |
|
|
76 | (1) |
|
|
|
77 | (1) |
|
Working between workflows |
|
|
78 | (2) |
|
|
|
80 | (2) |
|
Persisting data in workflows |
|
|
82 | (1) |
|
Limitations of PowerShell workflows |
|
|
83 | (7) |
|
|
|
83 | (2) |
|
No advanced function blocks |
|
|
85 | (1) |
|
Activities that run only on the local machine |
|
|
85 | (1) |
|
The cmdlets that have no activity implementation |
|
|
85 | (1) |
|
Importing activities into PowerShell |
|
|
86 | (4) |
|
Using PowerShell workflows in Visual Studio |
|
|
90 | (6) |
|
Adding a Microsoft workflow activity assembly |
|
|
90 | (6) |
|
Adding a custom PowerShell workflow to Visual Studio |
|
|
96 | (1) |
|
|
|
96 | (1) |
|
Chapter 5 Using the Common Informational Model |
|
|
97 | (26) |
|
Introduction to the CIM IDE |
|
|
98 | (3) |
|
Implementing a simple WMI provider |
|
|
101 | (8) |
|
Adding a CIM Provider project |
|
|
103 | (1) |
|
The implementation details |
|
|
103 | (2) |
|
Generating PowerShell metadata |
|
|
105 | (2) |
|
Registering a WMI provider |
|
|
107 | (2) |
|
Automatically creating provider cmdlets |
|
|
109 | (1) |
|
Why new cmdlets to interact with WMI? |
|
|
110 | (1) |
|
Differences between the CIM and WMI cmdlets |
|
|
110 | (6) |
|
Cmdlet differences between CIM and WMI |
|
|
111 | (2) |
|
|
|
113 | (1) |
|
|
|
114 | (2) |
|
Exploring the new CIM cmdlets |
|
|
116 | (6) |
|
|
|
117 | (2) |
|
Creating new CIM instances |
|
|
119 | (1) |
|
Working with associated classes |
|
|
119 | (3) |
|
|
|
122 | (1) |
|
|
|
122 | (1) |
|
Chapter 6 New and Improved PowerShell Hosts |
|
|
123 | (22) |
|
Installing the Windows PowerShell Web Access feature |
|
|
124 | (5) |
|
Configuring the Windows PowerShell Web Access |
|
|
127 | (1) |
|
|
|
127 | (1) |
|
Accessing the PowerShell Web Access |
|
|
128 | (1) |
|
Working with the PowerShell Web Access console |
|
|
129 | (3) |
|
Additional input and output |
|
|
130 | (1) |
|
|
|
131 | (1) |
|
Enhancements to the PowerShell ISE |
|
|
132 | (12) |
|
|
|
132 | (3) |
|
|
|
135 | (1) |
|
Defining our own snippets |
|
|
136 | (2) |
|
XML file syntax highlighting |
|
|
138 | (1) |
|
Other editor enhancements |
|
|
138 | (2) |
|
|
|
140 | (1) |
|
|
|
141 | (1) |
|
|
|
142 | (1) |
|
|
|
143 | (1) |
|
|
|
144 | (1) |
|
Chapter 7 Windows 8 and Windows Server 2012 Modules and Cmdlets |
|
|
145 | (30) |
|
|
|
146 | (5) |
|
|
|
146 | (1) |
|
|
|
146 | (1) |
|
|
|
147 | (1) |
|
|
|
147 | (1) |
|
|
|
147 | (1) |
|
|
|
147 | (1) |
|
|
|
148 | (1) |
|
|
|
148 | (1) |
|
|
|
149 | (1) |
|
|
|
149 | (1) |
|
|
|
149 | (1) |
|
|
|
150 | (1) |
|
|
|
150 | (1) |
|
|
|
150 | (1) |
|
|
|
151 | (1) |
|
|
|
151 | (1) |
|
|
|
151 | (13) |
|
|
|
151 | (1) |
|
|
|
152 | (1) |
|
|
|
152 | (1) |
|
NetAdapterAdvancedProperty |
|
|
153 | (1) |
|
|
|
153 | (1) |
|
|
|
154 | (1) |
|
|
|
154 | (1) |
|
|
|
155 | (1) |
|
|
|
155 | (1) |
|
|
|
156 | (1) |
|
|
|
156 | (1) |
|
|
|
157 | (1) |
|
|
|
157 | (1) |
|
Windows data access control module |
|
|
158 | (1) |
|
|
|
158 | (1) |
|
|
|
158 | (1) |
|
|
|
159 | (1) |
|
|
|
159 | (1) |
|
|
|
160 | (1) |
|
|
|
160 | (1) |
|
|
|
161 | (1) |
|
|
|
161 | (1) |
|
|
|
162 | (1) |
|
|
|
162 | (1) |
|
|
|
163 | (1) |
|
Roles and feature based modules |
|
|
164 | (8) |
|
|
|
164 | (1) |
|
|
|
164 | (2) |
|
VMDvdDrive, VMHardDiskDrive, and VMNetworkAdapter |
|
|
166 | (1) |
|
|
|
166 | (1) |
|
|
|
167 | (1) |
|
Active Directory deployment module |
|
|
168 | (1) |
|
|
|
169 | (1) |
|
|
|
169 | (1) |
|
|
|
170 | (1) |
|
|
|
170 | (1) |
|
|
|
171 | (1) |
|
|
|
172 | (1) |
|
|
|
172 | (2) |
|
Remote Desktop management module |
|
|
172 | (1) |
|
|
|
173 | (1) |
|
Windows Update Services module |
|
|
173 | (1) |
|
|
|
174 | (1) |
| Index |
|
175 | |