PowerShell efforts, can be just like any other development effort. So, many of the same rules apply.
Begin by using PowerSHell as your default vs cmd.exe / DOS.
Anytime you find yourself thinking DOS stuff first, stop, and figure out how to do it in PowerShell.
PowerShell is an object oriented language, and relies on .Net and .Net Core on OSX / Linux. It’s commands are longer than what you would do in DOS. There are shorthand / aliases that can be used, but beer sure to limit your use of those interactive stuff.
In scripts, always, always use the full cmdlet/function names, parameter name and switch names. It’s keeps the code self-documenting, easier to read, share and maintain.
Lastly, never ever, run any code from any one from anywhere, that you do not fully understand and what it is / will do. If you do, you could seriously damage your host and or your enterprise. Learn to master the -WhatIf, -Confirm, and leveraging the Set-StrictMode are part of your development, put that in your profile. Learn about profiles, and how to use them. Learn about execution policies, what they are and how / when to use them. Fully leverage auditing, monitoring and logging of PowerShell use by all users and processes. Especially as part of your corporate risk management effort.
Work on code style, sharing and use standardization.
Book references, normally the ones you’ll see most recommend:
Learn Windows PowerShell in a Month of Lunches 3rd Edition
Donald W. Jones (Author), Jeffrey Hicks (Author)
Windows PowerShell Cookbook: The Complete Guide to Scripting Microsoft’s Command Shell 3rd Edition
Lee Holmes (Author)
Windows PowerShell in Action 3rd Edition
by Bruce Payette (Author), Richard Siddaway (Author)
Windows PowerShell Survival Guide
Purpose of this Document
The purpose of this document is to help you to learn more about PowerShell and to be successful in applying it. This document seeks to point to the best content on the web to enable you to reach that goal.
Scope of this Document
This page contains links to help you learn more about Microsoft Windows PowerShell. This includes PowerShell fundamentals as well as how PowerShell is used in Windows applications and services. As long as it’s PowerShell related, we’ll try to point to it! The document is also version agnostic, and contains information about current and future versions of PowerShell.
See also posts here for other resource suggestions here:
Learning this stuff.
Practice with PSKoans
PSKoans : 0.50.0
A module designed to provide a crash-course introduction to PowerShell with programming koans.
Come to know your dev tools / environments:
Built into Windows PowerShell ISE (though no more work is going into it, Micros has already said, it will always be in the OS).
Visual Studio Code, then new hotness, for developers, and scripters. It takes a while to get it configure for all you will need, and provides far more that the ISE does.
Sapien’s PowerShell studio is the first class / top tier full IDE for PowerShell, but it not a inexpensive one, but well worth the price IMHO.
Learn to use both, as in most cases, data center servers will not have VSCode, but the ISE is in the box.
There are a bunch of add-one / extensions for both.
Then of course you can use full Visual Studio for PowerShell script, GUI, module development. As you can with VSCode, just be sure to purchase the full PowerShell Pro Tools addon for PowerShell project. It’s $59.00, so, in expensive, though to continue to get updates for it, that is an annual cost.