New-NetworkControllerServer

Creates or Updates a server resource in the Network Controller

Syntax

New-NetworkControllerServer
   [-ResourceId] <String>
   [[-Tags] <PSObject>]
   [-Properties] <ServerProperties>
   [[-Etag] <String>]
   [[-ResourceMetadata] <ResourceMetadata>]
   [-Force]
   -ConnectionUri <Uri>
   [-CertificateThumbprint <String>]
   [-Credential <PSCredential>]
   [-PassInnerException]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-NetworkControllerServer cmdlet creates updates a physical server resource in the Network Controller, or updates an existing one. After you add the server resource, Network Controller manages that server.

Examples

Example 1: Add a server

PS C:\> $CredentialProperties = [Microsoft.Windows.NetworkController.CredentialProperties]@{Type="UsernamePassword";UserName="admin";Value="password"}
PS C:\> New-NetworkControllerCredential -ResourceId "Credential01" -ConnectionUri "https://restserver" -Properties $CredentialProperties
PS C:\> $Credential = Get-NetworkControllerCredential -ResourceId "Credential01" -ConnectionUri "https://restserver"
PS C:\> $ServerProperties = New-Object Microsoft.Windows.NetworkController.ServerProperties
PS C:\> $ServerProperties.Connections = @([Microsoft.Windows.NetworkController.Connection]@{ManagementAddresses=@("192.168.0.12");Credential=$Credential})
PS C:\> $ServerProperties.RackSlot = "1"
PS C:\> $ServerProperties.OS = "Windows Server 2016"
PS C:\> $ServerProperties.Vendor = "Dell"
PS C:\> $ServerProperties.Model = "PowerEdge R730"
PS C:\> New-NetworkControllerServer -ConnectionUri "https://networkcontroller" -ResourceId "Server01" -Properties $ServerProperties

The first command creates a CredentialProperties object, and then stores it in the $CredentialProperties variable.

The second command creates a credential that has the properties in $CredentialProperties by using the New-NetworkControllerCredential cmdlet.

The third command gets the credential by using the Get-NetworkControllerCredential cmdlet, and then stores it in the $Credential variable.

The fourth command creates a ServerProperties object by using the New-Object cmdlet. The command stores the object in the $ServerProperties variable.

The next five commands assign values to properties of $ServerProperties.

The final command adds a server to the Network Controller that has the resource ID Server01. The command identifies the Network Controller by URI. The command specifies the properties of the server by using $ServerProperties.

Parameters

-CertificateThumbprint

Specifies the certificate thumbprint of a digital public key X.509 certificate of a user account that has permission to perform this action. In order for Network Controller to authorize the account, specify this thumbprint by using the ClientCertificateThumbprint parameter of the Install-NetworkController or Set-NetworkController cmdlet.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionUri

Specifies the Uniform Resource Identifier (URI) of the Network Controller. All Representational State Transfer (REST) clients use this URI to connect to Network Controller.

Type:Uri
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifies a user credential that has permission to perform this action. The default value is the current user. This user must be present in the security group specified in the ClientSecurityGroup parameter in Install-NetworkController.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Etag

Specifies the entity tag (ETag) parameter of the resource. An ETag is an HTTP response header returned by an HTTP-compliant web server. An ETag is used to determine change in the content of a resource. The value of the header is an opaque string that represents the state of the resource when the response was generated.

Type:String
Position:5
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:7
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassInnerException

This thumbprint must also be provided in the ClientCertificateThumbprint parameter in the Install-NetworkController or Set-NetworkController cmdlet so that Network Controller can authorize this user.

The thumbprint must be provided only if the network controller client authentication is X509 certificates. Get-NetworkController retrieves that client authentication and authorization information.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Properties

Specifies the properties of a server that this cmdlet creates or updates. You can specify the following properties:

  • Connections that specifies the information that is required to connect to the server for the purposes of managing it. Each connection has a management address and a credential reference to connect to the server.
  • Model number.
  • Array of physical network interfaces on the server.
  • Operating system that runs on the server.
  • Slot in the rack in which the server is connected.
  • Serial number.
  • Server vendor name.
Type:ServerProperties
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceId

Specifies the resource ID of the server that this cmdlet creates or modifies.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceMetadata

Specifies the resource ID of the server interface that this cmdlet adds or updates.

Type:ResourceMetadata
Position:6
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Microsoft.Windows.NetworkController.ServerProperties

You can pipe an object to this cmdlet that contains the following properties:

  • Connections that specifies the information that is required to connect to the server for the purposes of managing it. Each connection has a management address and a credential reference to connect to the server.
  • Model number.
  • Array of physical network interfaces on the server.
  • Operating system that runs on the server.
  • Slot in the rack in which the server is connected.
  • Serial number.
  • Server vendor name.

Outputs

Object