Microsoft Virtualization Discussions

NetApp PowerShell Toolkit on Windows 10


This new toolkit has installed just fine on windows 10. However I am trying to find the cmdlets that work with broadcast domains. Is there a way to modify the default broadcast domain and create new ones? I would like to move ports from one broadcast domain to another.


Also, I noticed when I tried to repair or change the installation on my windows 10 machine that has powershell 5 on it, it errors saying I need powershell 3.0 or later.



Thanks in advance. 



Thanks Aparajita!


That's exactly what I was looking for and great example.  I'm looking forward to trying these cmdlets.  I've been using ZAPI from PowerShell for so long to do cluster setup it'll be great to remove that chunck of code from my scripts . 


Smiley Very Happy


- John 


To free a port from a broadcast domain


     Set-NcNetPortBroadcastDomain -Name "Default" -Ipspace "Default" -RemovePort "Cluster1-01:e0c"

     Set-NcNetPortBroadcastDomain -Name "Default" -Ipspace "Default" -RemovePort "Cluster1-02:e0c"



To create a new broadcast domain


     New-NcNetPortBroadcastDomain -Name "bd_Cluster1" -Ipspace "Default" -Mtu 9000


Add the released ports to the new broadcast domain


     Set-NcNetPortBroadcastDomain -Name "bd_Cluster1" -AddPort "Cluster1-01:e0c"

     Set-NcNetPortBroadcastDomain -Name "bd_Cluster1" -AddPort "Cluster1-02:e0c"


If you want change flow control, do it BEFORE you add them to a broadcast domain


     Get-NcNetPort "e0c" -Node * | Set-NcNetPort -FlowControl "none"




I think I could have figured that out had I been able to see that cmdlet. However when I run Get-NcHelp that is not showing. When I try to run it I get



"Get-NcNetPortBroadcastDomain : The 'Get-NcNetPortBroadcastDomain' command was found in the module 'DataONTAP', but the module could not be loaded. For more information, run 'Import-Module DataONTAP'.
At line:1 char:1
+ Get-NcNetPortBroadcastDomain
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-NcNetPortBroadcastDomain:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoloadMatchingModule"


I obviously have at the top of my script "Import-Module DataOnTap" and I even have tried running it again. This is the 4.2 Toolkit I have installed?


I found this issue. My older version of the toolkit was being imported when I issued the command. I had to remove the old folder that was left behind after the install. I am not sure if the new installers can do this, but I now see the proper commands.


Thank you again for your quick reply.


Based on past experience with Toolkit releases - I manually uninstall the toolkit then install the new version.  


It definitely SHOULD handle this but what happened to you seems to come up often.


I just wish they'd update the version number on the html help - it still says  version 4.0 (not 4.2?!?).


- John



Hiya folks! Time for some (rather convoluted) history!


The problem of an older version of PSTK being on the path happens when you have an install of Data ONTAP PowerShell Toolkit 3.2.1 or lower on your system and you install NetApp PowerShell Toolkit 4.0 or higher on the system.


Because 4.0 seems to be a natural upgrade to 3.2.1 what many people miss is - the product (& hence product GUID) has changed. Data ONTAP PowerShell Toolkit (henceforth PSTK) used to be released as a standalone module/installer till version 3.2.1. When PSTK version 3.3 came along, it was packaged along with SANtricity PowerShell Toolkit module to produce a single NetApp PowerShell Toolkit installer (henceforth NPSTK). This new product's first release was versioned 4.0 (no, don't ask me why. May be because confusions are fun?).


Since these are two different products to the Windows System there's no 'upgrade path' between them. Playing nice, NPSTK adds it's install path to the end of PSModulePath. So the older PSTK install remains first in the path and causes the issue. The engineering team is working (based on the community feedback) to find a workaround - at least prompt the user to remove existing PSTK installs before making NPSTK installs.


Now for the more confusing part. Though we have an unified installer package for all NetApp PowerShell modules, the modules are still essentially independent of each other (and can be installed independently). So each module maintains it's own versioning, while a different versioning is maintained for the installer. I wish I could add a table here, but here's a CSV instead.


NPSTK Version, DataONTAP module version, SANTricity module version

4.0,                       3.3,                                               1.1

4.1,                       3.3,                                               1.2

4.2,                       4.0,                                               1.2


Which is why the Data ONTAP module's release notes mentions the version as 4.0, even though it was installed by NPSTK version 4.2.



Hope this makes (some) sense!



It may be more useful to use the html based help.  You can display it using the "Show-NcHelp" cmdlet.


You can also use the traditional "Get-Help" cmdlet with the NetApp cmdlets:


Get-Help -Full Get-NcNetPortBroadcastDomain

It's a bit odd that it's not finding the cmdlet, what version of the Data ONTAP module is reported?


Get-Module DataONTAP



If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.


It was reporting on the version 3 module even though I had installed 4.2. The old folder, although the toolkit was installed was still present on the system. Once I delted that old folder and re-imported the module everything started working. The install paths were different so the old stuff did not get overwritten it looks.


Thanks again for the support.