· 6 years ago · Mar 06, 2020, 11:24 PM
1Older resource I used
2https://www.cbtnuggets.com/it-training/microsoft-windows-powershell-2-3-4
3
4Newer resources I've used
5https://blog.coursesity.com/best-powershell-tutorials/
6
7I recently pointed a new hire to this new series
8https://techthoughts.info/learn-powershell-series/
9
10I bookmarked this YT Chan but I have not used it
11https://www.youtube.com/channel/UCFgZ8AxNf1Bd1C6V5-Vx7kA
12The scripts for any of the videos are on GitHub here: https://github.com/TechSnips/SnipScripts
13
14And here is something I saved from Reddit a few months back
15
16Links to Learning Material:
17
18PowerShell Live Challenges/Practice
19
20· https://github.com/vexx32/PSKoans
21
22· https://adventofcode.com/2018/about
23
24· https://posh-hunter.com/
25
26· https://underthewire.tech/
27
28· https://github.com/Sudoblark/Powershell_Intro_Training
29
30PowerShell Cmdlet to Function
31
32· https://youtu.be/48Ff3A83u0E
33
34· http://ramblingcookiemonster.github.io/Building-PowerShell-Functions-Best-Practices/
35
36· http://blogs.technet.com/b/heyscriptingguy/archive/2014/05/29/powershell-best-practices-simple-functions.aspx
37
38· https://devblogs.microsoft.com/scripting/powershell-best-practices-advanced-functions/
39
40· https://www.red-gate.com/simple-talk/sql/sql-tools/the-posh-dba-grown-up-powershell-functions/
41
42· https://docs.microsoft.com/en-us/previous-versions/technet-magazine/ff677563(v=msdn.10)
43
44· https://docs.microsoft.com/en-us/previous-versions/technet-magazine/hh413265(v=msdn.10)
45
46· https://learn-powershell.net/2013/05/07/tips-on-implementing-pipeline-support/
47
48Collection Type Guidance
49
50· https://gist.github.com/kevinblumenfeld/4a698dbc90272a336ed9367b11d91f1c
51
52Style-Guide
53
54· https://poshcode.gitbooks.io/powershell-practice-and-style/Style-Guide/Code-Layout-and-Formatting.html
55
56· https://github.com/PoshCode/PowerShellPracticeAndStyle
57
58Windows PowerShell Survival Guide
59
60· https://social.technet.microsoft.com/wiki/contents/articles/183.windows-powershell-survival-guide.aspx
61
62Validating parameters
63
64· https://docs.microsoft.com/en-us/previous-versions//dd347600(v=technet.10)?redirectedfrom=MSDN
65
66Reddit Links to More PowerShell Areas of Learning
67
68· https://www.reddit.com/r/PowerShell/comments/95y82g/whats_the_best_youtube_powershell_tutorial_series
69
70· https://www.reddit.com/r/PowerShell/comments/98dw5v/need_beginner_level_script_ideas_to_learn
71
72· https://www.reddit.com/r/PowerShell/comments/7oir35/help_with_teaching_others_powershell
73
74· https://www.reddit.com/r/PowerShell/comments/98qkzn/powershell_advice
75
76· https://www.reddit.com/r/PowerShell/comments/96rn7y/college_level_student_looking_for_a_good_online
77
78· https://www.reddit.com/r/PowerShell/comments/99dc5d/powershell_for_a_noob
79
80Tutorial on Arrays, HashTables, and Collection Items
81
82· https://blog.netwrix.com/2018/10/04/powershell-variables-and-arrays/
83
84· https://www.red-gate.com/simple-talk/sysadmin/powershell/powershell-one-liners-collections-hashtables-arrays-and-strings/
85
86· https://evotec.xyz/powershell-few-tricks-about-hashtable-and-array-i-wish-i-knew-when-i-started/amp/
87
88Scopes
89
90· https://www.reddit.com/r/PowerShell/comments/dbcem3/understanding_variable_scope_in_powershell/?utm_medium=android_app&utm_source=share
91
92Creating GUI's
93
94· https://foxdeploy.com/2015/04/10/part-i-creating-powershell-guis-in-minutes-using-visual-studio-a-new-hope/
95
96· https://www.gngrninja.com/script-ninja/2016/12/23/powershell-configure-your-scripts-with-a-gui
97
98· https://lazyadmin.nl/powershell/powershell-gui-howto-get-started/
99
100· https://learn-powershell.net/2012/09/13/powershell-and-wpf-introduction-and-building-your-first-window/
101
102· https://www.reddit.com/r/PowerShell/comments/a7fyt8/wpf_guis_for_beginners/
103
104Dynamic Progress Bar Helper
105
106· https://adamtheautomator.com/building-progress-bar-powershell-scripts/
107
108Dealing with Passwords
109
110Securely Store Credentials on Disk
111
112· http://www.powershellcookbook.com/recipe/PukO/securely-store-credentials-on-disk
113
114Quickly and securely storing your credentials – PowerShell
115
116· https://www.jaapbrasser.com/quickly-and-securely-storing-your-credentials-powershell
117
118Working with Passwords, Secure Strings and Credentials in Windows PowerShell
119
120· https://social.technet.microsoft.com/wiki/contents/articles/4546.working-with-passwords-secure-strings-and-credentials-in-windows-powershell.aspx
121
122Powershell: How to encrypt and store credentials securely for use with automation scripts
123
124· https://interworks.com/blog/trhymer/2013/07/08/powershell-how-encrypt-and-store-credentials-securely-use-automation-scripts
125
126Using saved credentials securely in PowerShell scripts
127
128· https://blog.kloud.com.au/2016/04/21/using-saved-credentials-securely-in-powershell-scripts
129
130Secure Password with PowerShell: Encrypting Credentials
131
132· https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-1
133
134· https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-2
135
136Encrypting Passwords in Scripts: The Ultimate Best Practice Guide for Powershell
137
138· https://thesysadminchannel.com/passwords-in-scripts-the-ultimate-best-practice-guide
139
140SecureString encryption
141
142· https://powershell.org/forums/topic/securestring-encryption
143
144How To Save and Read Sensitive Data with PowerShell
145
146· https://mcpmag.com/articles/2017/07/20/save-and-read-sensitive-data-with-powershell.aspx
147
148Encrypt Password and use it in Powershell Script
149
150· https://gallery.technet.microsoft.com/scriptcenter/Encrypt-Password-and-use-dd07f253
151
152How to secure your passwords with PowerShell
153
154· https://www.sqlshack.com/how-to-secure-your-passwords-with-powershell
155
156Script Secure Password using Powershell
157
158· https://gallery.technet.microsoft.com/scriptcenter/Secure-Password-using-c158a888
159
160Store encrypted password in a PowerShell script
161
162· https://blog.ctglobalservices.com/powershell/rja/store-encrypted-password-in-a-powershell-script
163
164How to run a PowerShell script against multiple Active Directory domains with different credentials
165
166· https://blogs.technet.microsoft.com/ashleymcglone/2016/11/30/how-to-run-a-powershell-script-against-multiple-active-directory-domains-with-different-credentials/
167
168Credential Manager-Using Credential Manager in PowerShell
169
170· https://bitsofwater.com/2018/02/16/using-credential-manager-in-powershell
171
172Accessing Windows Credentials Manager from PowerShell
173
174· https://gallery.technet.microsoft.com/scriptcenter/Accessing-Windows-7210ae91
175
176Provides access to credentials in the Windows Credential Manager
177
178· https://www.powershellgallery.com/packages/CredentialManager/1.0
179
180Get-CredentialFromWindowsCredentialManager.ps1
181
182· https://gist.github.com/cdhunt/5729126
183
184Registry-Save Encrypted Passwords to Registry for PowerShell
185
186· https://www.spjeff.com/2016/08/17/save-encrypted-passwords-to-registry-for-powershell
187
188Module Creation
189
190· https://docs.microsoft.com/en-us/powershell/developer/module/how-to-write-a-powershell-script-module
191
192· https://adamtheautomator.com/powershell-modules/
193
194· https://powershellexplained.com/2017-05-27-Powershell-module-building-basics/
195
196PowerShell Gotchas
197
198· https://github.com/nightroman/PowerShellTraps
199
200Website Full of PowerShell Ideas
201
202· https://www.thecodeasylum.com
203
204Microsoft Virtual Academy:
205
206· https://mva.microsoft.com/liveevents/powershell-jumpstart
207
208· https://mva.microsoft.com/search/SearchResults.aspx#!q=PowerShell&lang=1033
209
210· https://mva.microsoft.com/en-us/training-courses/getting-started-with-microsoft-powershell-8276
211
212· https://mva.microsoft.com/en-us/training-courses/getting-started-with-microsoft-powershell-8276?l=r54IrOWy_2304984382
213
214API Testing:
215
216· https://any-api.com/
217
218Subreddits:
219
220· https://www.reddit.com/r/usefulscripts/
221
222· https://www.reddit.com/r/sysadmin/
223
224· https://www.reddit.com/r/scripting/
225
226· https://www.reddit.com/r/WSUS/
227
228· https://www.reddit.com/r/PowerShell/
229
230Blogs:
231
232· https://learn-powershell.net
233
234· https://4sysops.com
235
236· https://adamtheautomator.com
237
238· http://ramblingcookiemonster.github.io/
239
240· https://powershellexplained.com/
241
242· https://evotec.xyz/hub/
243
244· https://powershell.org
245
246· https://blogs.technet.microsoft.com/heyscriptingguy
247
248YouTube:
249
250· https://www.youtube.com/user/powershelldon
251
252· MVA series for Powershell 3.0 with Snover
253
254· https://www.youtube.com/watch?v=wrSlfAfZ49E
255
256· https://www.youtube.com/results?search_query=powershell+ise+scripting+for+beginners
257
258· https://www.youtube.com/playlist?list=PL6D474E721138865A
259
260· https://www.youtube.com/channel/UCFgZ8AxNf1Bd1C6V5-Vx7kA
261
262Books:
263
264Learn PowerShell in a month of lunches book [always get the newest version]
265
266· powertheshell.com/cookbooks
267
268· blogs.technet.microsoft.com/pstips/2014/05/26/free-powershell-ebooks
269
270· rkeithhill.wordpress.com/2009/03/08/effective-windows-powershell-the-free-ebook
271
272· veeam.com/wp-powershell-newbies-start-powershell.html
273
274· reddit.com/r/PowerShell/comments/3cki73/free_powershell_reference_ebooks_for_download
275
276IDE:
277
278· https://code.visualstudio.com/download
279
280Useful Extensions:
281
282Bracket Organizer
283
284· https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2
285
286PowerShell
287
288· https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell
289
290XML
291
292· https://marketplace.visualstudio.com/items?itemName=DotJoshJohnson.xml
293
294Reg
295
296· https://marketplace.visualstudio.com/items?itemName=ionutvmi.reg
297
298Git History
299
300· https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory
301
302Helpful Commands:
303
304Get-Help
305
306especially Get-Help *about*
307
308Get-Command
309
310it takes wildcards, so Get-Command *csv* works nicely. that is especially helpful when you are seeking a cmdlet that works on a specific thing. Comma Separated Value files, for instance. [grin]
311
312Show-Command
313
314that brings up a window that has all the current cmdlets and all their options ready for you to pick from.
315
316it will also take another cmdlet, or advanced function, as a parameter to limit things to showing just that item.
317
318auto-completion
319
320try starting a word and tapping the tab key. some nifty stuff shows up.
321
322Intellisense
323
324save something to a $Var and then try typing the $Var name plus a period to trigger intellisense. there are some very interesting things that show up as properties or methods.
325
326check out the builtin code snippets in the ISE
327
328use <ctrl><j>, or Edit/Start-Snippets from the menu.
329
330assign something to a $Variable & pipe that to Get-Member
331
332$Test = Get-ChildItem -LiteralPath $env:TEMP
333
334$Test | Get-Member
335
336assign something to a $Variable and pipe it to Select-Object
337
338$Test = Get-ChildItem -LiteralPath $env:TEMP
339
340$Test[0] | Select-Object -Property *
341
342that will give you a smaller, more focused list of properties for the 1st item in the $Test array.
343
344assign something to a $Variable & use .GetType() on it
345
346$Test = Get-ChildItem -LiteralPath $env:TEMP
347
348$Test.GetType()
349
350$Test[0].GetType()
351
352the 1st will give you info on the container $Var [an array object].
353
354the 2nd will give you info on the zero-th item in the $Var [a DirectoryInfo object].
355
356Get-Verb
357
358as with Get-Command, it will accept wildcards.
359
360that will show you some interesting cmdlets. then use get-command to see what commands use those verbs. then use get-help to see what the cmdlets do.
361
362Out-GridView
363
364it's a bit more than you likely want just now, but it can accept a list of items, present them in a window, allow picking one or more of them, and finally send it out to the next cmdlet.