NetApp Community Update
This site will enter Read Only mode on July 23 as we prepare to move to a new platform.
You will still be able to view content, but posting and replying will be temporarily disabled.
To learn more, please review the information in this blog post.

Microsoft Virtualization Discussions

Problem using Split-NcNetPortBroadcastDomain from a script

dhepler
5,840 Views

Hi All,

 I am relatively new to PowerShell and the NetApp toolkit (using 4.0, powershell version is 4), but I am writing a script to completely automate a cluster setup for the clusters in my lab with the various settings that I want to have (only after the cluster is created and all nodes have been joined to the cluster).  I am currently having issues using the command "Split-NcNetPortBroadcastDomain" from a script or even in the CLI after having defined a variable.Here is the line as I am using it in my script:

Split-NcNetPortBroadcastDomain  -Name Default -NewName $NewBroadcastDomain -Port $BroadcastDomainPorts

And here is the error:

 

 

Split-NcNetPortBroadcastDomain : Invalid value specified for "ports" element within "net-port-broadcast-domain-split":
"node-01:e0d,node-02:e0d".
At C:\Tools\clustersetup.ps1:181 char:4
+             Split-NcNetPortBroadcastDomain  -Name Default -NewName $NewBroadcastDomain -P ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (node.local:NcController) [Split-NcNetPortBroadcastDomain], EINVALIDINP
   UTERROR
    + FullyQualifiedErrorId : ApiException,DataONTAP.C.PowerShell.SDK.Cmdlets.Net.SplitNcNetPortBroadcastDomain



Outside of the script I tested the command which works just fine without a variable, but as soon as I use a variable, the command fails. I am able to use the following similar commands with the same variables without issues:

Set-NcNetPortBroadcastDomain -Name Default -RemovePort $BroadcastDomainPorts


Set-NcNetPortBroadcastDomain -Name $NewBroadcastDomain -AddPort $BroadcastDomainPorts

Does anyone have any ideas? Just one last bit of info... the variable I am using is 100% for sure a string like the help says is required!

 

Thanks,

David

 

1 ACCEPTED SOLUTION

Aparajita
5,825 Views

Hi David,

 

Could you try defining the $BroadcastDomainPorts as an array instead?

 

 

$BroadcastDomainPorts = ("node-01:e0d", :node-02:e0d")

 

I see the man page says the Port parameter should be a String[], not a String ... On the CLI a comma seperated string is automatically treated as an array, but not so inside a script. That might be why it's working when executed directly on the CLI but fails inside the script ...

 

Hope this helps,

Aparajita

 

 

View solution in original post

3 REPLIES 3

Aparajita
5,826 Views

Hi David,

 

Could you try defining the $BroadcastDomainPorts as an array instead?

 

 

$BroadcastDomainPorts = ("node-01:e0d", :node-02:e0d")

 

I see the man page says the Port parameter should be a String[], not a String ... On the CLI a comma seperated string is automatically treated as an array, but not so inside a script. That might be why it's working when executed directly on the CLI but fails inside the script ...

 

Hope this helps,

Aparajita

 

 

dhepler
5,823 Views

I think you may be right. I will test a bit more and let you know. Strange that the other commands did not have a problem but this one did. Thanks!

dhepler
5,808 Views

So, after re-writing that part of my script a bit I tested using an array instead of just a [string] and it worked! Thank you!

Public