My preference is to use the PowerShell Toolkit for doing things that I need to do more than once. For example, creating volumes, particularly when I am customizing the volume options such as disabling atime_update for VMware datastores. It's tedious to do these things using any of the GUI tools, and error prone when using the CLI where you have to re-type the command(s) each time.
For regular polling (for example, every 1 or 5 minutes) of performance and health data against your systems, it's probably best to use something like Unified Manager, Performance Manager, or Harvest + Graphana. For ad hoc checks, the PowerShell Toolkit is still an excellent tool.
I honestly can't say there has ever been a situation where the PowerShell Toolkit was the only option...you can always use one of the other languages in the NMSDK such as Perl, Python, etc., use the GUI, or use the CLI...but I often find the Toolkit to be the most convenient. For example, a simple list of volumes...with the CLI it's difficult, if not impossible, to order the volumes by percentage used. With the Toolkit, it's simple, quick, and easy:
Get-NcVol | Sort-Object -Property Used
Where I think the Toolkit really becomes useful is when you want to find esoteric information about your systems. For example, I want to see all aggregates which have partial RAID groups:
Get-NcAggr | ?{ ($_.AggrRaidAttributes.RaidSize * ($_.AggrRaidAttributes.Plexes.Raidgroups.Count | Measure-Object -Sum).Sum) -ne $_.AggrRaidAttributes.DiskCount }
If you're automating things, then you can use the other languages, but I almost always find it faster to do equivalent tasks in PowerShell vs {Perl, Python, .NET, C/C++, Java, etc.}. They are all equivalently powerfull...PowerShell doesn't have access to more or less of the API than any other langauage...I just find creating scripts to do things faster in PowerShell. To be fair, this is purely preference...I know people who would choose Perl or Python over PowerShell for the same reason. Plus, it's really easy to take a PowerShell script and create an equivalent WFA workflow to make your automation available to anyone who can click a GUI.
Hope that helps.
Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.