Rejoice, NetApp PowerShell users, for Toolkit 1.3 has dropped. There’s a bunch of new features and improvements in this release. Some new features that caught my eye are SSH Invocation and PowerShell provider. SSH Invocation (Invoke-NaSSH) allows you to send Data ONTAP CLI commands to your filer(s) via SSH. The PowerShell provider makes PowerShell drives available that correspond to the file system on the Data ONTAP controllers. This means that you can now read & write directly to the file system using the same semantics as the PowerShell FileSystem provider.
Update: This has been resolved in the 1.3 release of the Toolkit.
I ran into a bug while trying to write a script that would cycle through all of my NetApp filers and change the root password. The issue was that I was unable to pass a PSCredential object to Connect-NaController because passing credentials meant that HTTPS/HTTP would be tried instead of the default and insecure RPC.
After working with Clinton Knight from the NetApp Communities, he determined that the toolkit was attempting to use Internet Explorer’s proxy settings. He was kind enough to provide a workaround, as follows:
[System.Net.WebRequest]::DefaultWebProxy = $null
Until a permanent fix is introduced to the toolkit, put that snippet at the top of your NetApp PowerShell scripts, and you’ll be able to supply credentials (or -ForceSecure/-ForceUnsecure) to your Connect cmdlets.
I finally got an opportunity to mess around with the PowerShell cmdlets for NetApp. Overall, I think that a storage vendor’s adoption of something like PowerShell is always a Good Thing. (From what I understand, EMC has PowerShell cmdlets out now, as well — but I digress.)
There were a couple of things that I wanted to use PowerShell for — basically, “quicklook” kind of information. Sure, I could use NetApp’s System Manager, or FilerView, or DataFabric Manager, etc – but all of those require time to load and sort through, etc. The cmdlets, when structured properly, can aggregate a great deal of information into a short & actionable list.