modules/NetworkController/public/Get-SdnNetworkController.ps1
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. function Get-SdnNetworkController { <# .SYNOPSIS Returns a list of servers from network controller. .PARAMETER NetworkController Specifies the name or IP address of the network controller node on which this cmdlet operates. .PARAMETER Credential Specifies a user account that has permission to perform this action. The default is the current user. .EXAMPLE PS> Get-SdnNetworkController .EXAMPLE PS> Get-SdnNetworkController -NetworkController 'NC01' -Credential (Get-Credential) #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [System.String]$NetworkController, [Parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] [System.Management.Automation.Credential()] $Credential = [System.Management.Automation.PSCredential]::Empty, [Parameter(Mandatory = $false)] [switch]$ServerNameOnly ) try { $result = Invoke-PSRemoteCommand -ComputerName $NetworkController -ScriptBlock {Get-NetworkControllerNode} -Credential $Credential foreach($obj in $result){ if($obj.Status -ine 'Up'){ "{0} is reporting status {1}" -f $obj.Name, $obj.Status | Trace-Output -Level:Warning } } if($ServerNameOnly){ return $result.Name } else{ return $result } } catch { "{0}`n{1}" -f $_.Exception, $_.ScriptStackTrace | Trace-Output -Level:Error } } |