Hi All, Thank you very much for your confirmation. I am currently trying to learn PowerShell, but I often feel overwhelmed by the number of commands I need to remember. I have started learning several times; however, after a few days, I lose focus and get distracted. As experienced professionals, I would greatly appreciate your guidance on how I can become more confident and fluent in working with PowerShell. I have 15 years of experience as a Windows Server Administrator and truly want to strengthen my scripting skills.
If you can only remember three let it be these. . .
Get-Help
Get-Command
Get-Member
There’s a Don Jones youtube channel where you can probably find a lot of videos about why those 3 are the ones you want to know. While you’re there you could watch more of them at your leasure. He really helped me learn, later on I wound up buying his book. PowerShell in a month of lunches. Before him I had Ed Wilson (The IT Scripting guy) on Microsoft’s blog, but he has since retired. I also got a book The Administrators Pocket Reference to PowerShell. It is a good reference and I learned a lot from it.
As far as memorizing commands. Jeffrey Snover used to say “think, type, do” meaning PowerShell was designed with naming the commands so that they should be easy to figure out. Verb (what you want to do) Noun (What you want to do it to). PowerShell CMDLETs are Verb dash noun. If you want to “get” a list of “services” you type Get-Service. Oh they also try to not use anything plural, so instead od services it’s service.
I’ve yet to meet anyone good enough to teach powrshell in one forum reply. But with anything in life memorizing them doesn’t just come to you. It takes many many iterations of using the commands over and over again until they become almost muscle memory.
I don’t know admin, what do you use for admin before? If you use other scripting language, you can rewrite you utilities in powershell, and manage them in $PROFILE.
Try daily-drive using powershell, I constantly use powershell to do everything as much as possible.
If something is repetitive, I write it as a script and manage it in my git repo.
If something is frequently used interactively, I wrap it as function or alias it in $PROFILE.
To understand cmdlet, you should understand how powershell abstract it, how pipeline input work etc.
You understand the syntax not remembering the name, any unseen cmdlet should first refer to its documentation anyway.
Once you can write you own cmdlet(with pipeline input), you almost mastered the core of powershell.
Any existing cmdlet wouldn’t be a problem to use then.