Set-DAServer
Sets the properties specific to the DirectAccess (DA) server.
Syntax
Set-DAServer
[-ComputerName <String>]
[-PassThru]
[-Force]
[-InternalIPv6Prefix <String[]>]
[-ClientIPv6Prefix <String>]
[-TeredoState <String>]
[-ConnectToAddress <String>]
[-UserAuthentication <String>]
[-IPsecRootCertificate <X509Certificate2>]
[-IntermediateRootCertificate]
[-EntrypointName <String>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-DAServer
[-ComputerName <String>]
[-PassThru]
[-Force]
[-InternalIPv6Prefix <String[]>]
[-ClientIPv6Prefix <String>]
[-DisableComputerCertAuthentication]
[-TeredoState <String>]
[-ConnectToAddress <String>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-DAServer
[-ComputerName <String>]
-DAInstallType <String>
[-PassThru]
[-Force]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Set-DAServer cmdlet sets the properties specific to the DirectAccess (DA) server.
The DA server properties that this cmdlet configures are of the following types.
-- Properties which are applicable globally to the entire DA deployment.
-- Properties which are applicable per-server, or per-cluster in a load balancing scenario, or per-site such as in a multi-site deployment.
Examples
EXAMPLE 1
PS C:\>Set-DAServer -DAInstallType FullInstall -PassThru
Confirm
If the DirectAccess Configuration is changed to FullInstall, DirectAccess client computers will be able to connect to internal network via DirectAccess. Do you want to continue to change DAInstallType?
This cmdlet prompts user to confirm if they really want to change DA configuration. On confirming the cmdlet completes the underlying modifications.
PS C:\>
[Y] Yes [N] No [S]Suspend [?] Help (default is "Y"): Y
DAInstallType : FullInstall
InternetInterface : internet
InternalInterface : datest
ConnectToAddress : 131.107.0.2
SslCertificate : [Subject]
CN=131.107.0.2
[Issuer]
CN=131.107.0.2
[Serial Number]
65F63C49B30F669044653F3114390653
[Not Before]
11/29/2011 9:45:23 PM
[Not After]
11/29/2016 1:55:22 PM
[Thumbprint]
0A37103C3038781228FAC19D8725FAD395558FBF
GpoName : corp.contoso.com\DirectAccess Server Settings
InternalIPv6Prefix : 2006:2005:1::/48
ClientIPv6Prefix : 2006:2005:1:1000::/64
UserAuthentication : UserPasswd
ComputerCertAuthentication : Disabled
IPsecRootCertificate :
IntermediateRootCertificate :
TeredoState : Disabled
IsSingleNic : False
IsNatDeployed : False
HealthCheck : Disabled
This example, given a DA installation in a ManageOut mode, changes the DA configuration to FullInstall mode. This allows remote clients to connect to resources in the corporate network over the DA connection.
EXAMPLE 2
PS C:\>$certs = Get-ChildItem -Path Cert:\LocalMachine\Root
PS C:\>$IPSecRootCert = $certs[13]
PS C:\>$IPSecRootCert
Directory: Microsoft.PowerShell.Security\Certificate::localmachine\root
Thumbprint Subject
---------- -------
65505D9CDD106DCC6D4C88D3D5FA0EE26B6A3C4F CN=corp-contoso-dc1-ca
PS C:\>Set-DAServer -IPsecRootCertificate $IPsecRootCert -UserAuthentication "TwoFactor" -PassThru
DAInstallType : FullInstall
InternetInterface : internet
InternalInterface : datest
ConnectToAddress : 131.107.0.2
SslCertificate : [Subject]
CN=131.107.0.2
[Issuer]
CN=131.107.0.2
[Serial Number]
65F63C49B30F669044653F3114390653
[Not Before]
11/29/2011 9:45:23 PM
[Not After]
11/29/2016 1:55:22 PM
[Thumbprint]
0A37103C3038781228FAC19D8725FAD395558FBF
GpoName : corp.contoso.com\DirectAccess Server Settings
InternalIPv6Prefix : 2006:2005:1::/48
ClientIPv6Prefix : 2006:2005:1:1000::/64
UserAuthentication : TwoFactor
ComputerCertAuthentication : Enabled
IPsecRootCertificate : [Subject]
CN=corp-contoso-dc1-ca
[Issuer]
CN=corp-contoso-dc1-ca
[Serial Number]
4022E742A82AECA643E4E786DFE4CB6F
[Not Before]
10/13/2011 8:03:11 AM
[Not After]
10/13/2016 8:13:08 AM
[Thumbprint]
65505D9CDD106DCC6D4C88D3D5FA0EE26B6A3C4F
IntermediateRootCertificate : False
TeredoState : Disabled
IsSingleNic : False
IsNatDeployed : False
HealthCheck : Disabled
This example enables Two-factor user authentication which enables users to use certificates for DA. There are multiple steps involved in enabling Two-factor authentication. By default, PKI is disabled during DA installation and will need to be enabled. This is achieved by provisioning an IPsec root certificate on the DA server using this cmdlet. The enterprise needs to have a certification authority (CA) which will provision this certificate for all domain joint computers. The first two steps in this example list out the certificates present in the root certificate store of the server computer and pick an appropriate one. In this case it happens to be the 13th certificate in the list. Using this cmdlet, the certificate is then assigned as the IPsec root certificate to enable PKI and the UserAuthentication is specified to be two-factor.
EXAMPLE 3
PS C:\>Set-DAServer -TeredoState Enabled
This example enables clients to connect using Teredo. By default, Teredo is disabled unless two consecutive public IPv4 addresses are found on the internet facing interface of the server while installing DA. Before enabling Teredo, ensure that two consecutive public IP addresses are present.
EXAMPLE 4
On running the cmdlet, the user is presented with a prompt to confirm the change to the **ConnecToAddress** parameter.
PS C:\>Set-DAServer -ConnectToAddress daserverNew.com
Changing the ConnectTo address will change the certificate used for IPHttps and VPN. If a load balanced cluster is deployed, change will be deployed to all servers in the cluster. Do you want to continue?
On accepting this prompt, the cmdlet tries to locate a certificate for the new connectTo address. In this case it is unable to locate one and tries to create a self-signed certificate.
PS C:\>
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Certificate IPHttps cannot be located on the Remote Access server. Do you want DirectAccess to create and use a self-signed certificate?
Before creating one it asks for user confirmation through the second prompt.
PS C:\>
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
This example changes the connectTo address of the DA Server. However, since the same address is used in IPHttps and VPN certificates, applying this changes the certificates used for both these technologies.
Parameters
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
Type: | CimSession[] |
Aliases: | Session |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClientIPv6Prefix
Specifies the prefix from which IPv6 addresses are assigned to the connecting clients in case of IP-HTTPS. The length should be 64 bits. In the case of a load balancing scenario the prefix length should be 59 bits.
The client IPv6 prefix configuration is applicable per-server or per-site as in the case of multi-site deployments.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
Specifies the IPv4 or IPv6 address, or host name, of the computer on which the DA server computer specific tasks should be run.
Type: | String |
Aliases: | Cn |
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 |
-ConnectToAddress
Specifies the DA server or NAT public, if DA server is deployed behind a NAT, address to which clients connect. Specified as host name or IPv4 address.
When the ConnectTo address is changed, the SSL certificate is also changed appropriately. Following are the rules associated with assigning a proper certificate.
-- This cmdlet looks for an appropriate SSL certificate on the computer.
-- If an appropriate SSL certificate is not found, then a self-signed certificate is created.
-- In the case of external load balancer configuration, if one or more computers are down, then the cmdlet bails out and the ConnectTo Address is not changed.
-- In a load balancing scenario, if all computers are up and an appropriate SSL certificate is found only on some computers, then the cmdlet fails the operation of changing the ConnectTo address. If none of the computers has a proper SSL certificate, then a self-signed certificate is created on all computers and the ConnectTo change goes through. If one or more computers are down, then the certificate is updated only on the other computers. But the DA server GPO is updated to ensure that when these computers come up load balancing is in stopped state on them due to a certificate mismatch. For the certificate change, and as a result the ConnectTo address change, to take effect the administrator needs to install a similar certificate with the same name on the computers and re-run this cmdlet. If a self-signed certificate is being used, then the user just needs to re-run the cmdlet and it automatically creates a self-signed certificate.
-- In a multi-site scenario, this cmdlet does not create a self-signed certificate and always expects a proper certificate to be present on the computer itself.
The ConnectTo address is applicable per-DA server or per-site, in the case of multi-site deployments.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DAInstallType
Changes the configuration in which DA has been deployed. The acceptable values for this parameter are:
-- FullInstall.
-- ManageOut.
This parameter is a global configuration and applies to the entire DA deployment.
Type: | String |
Accepted values: | FullInstall, ManageOut |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisableComputerCertAuthentication
Specifies that computer certificate authentication is to be disabled. Disabling this setting disables PKI for the DA deployment.
Following are conditions for computer certificate authentication.
-- Computer certificate authentication cannot be disabled if health checks are enabled using the HealthCheck parameter or Two-factor authentication is used for user authentication or when multi-site deployment is enabled or when firstref_client_7 client support is enabled.
-- User authentication configuration is automatically changed to UserPasswd
when computer certificate authentication is disabled.
Computer certificate authentication is re-enabled by configuring an IPsec root certificate using the IPsecRootCertificate parameter.
Disabling of computer certificate authentication is a global configuration that applies to the entire DA deployment.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EntrypointName
Specifies the identity of a site in a multi-site deployment and indicates that the DA server properties should be configured for that site. Only the following properties are applicable at the site level. The rest of the properties are global and therefore this parameter has no meaning to them.
-- ClientIPv6Prefix.
-- ConnectToAddress.
-- TeredoState.
If this parameter is not specified in a multi-site deployment, then the entry point name to which the server on which the cmdlet is run is used. The server could also be represented by using the ComputerName parameter.
If both this parameter and ComputerName parameter are specified and the computer name does not belong to the site represented by the entry point name, then the entry point takes precedence.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Forces the command to run without asking for user confirmation.
When suppressed the cmdlet assumes user confirmation for the following conditions.
-- ConnectTo change would result in a change in the SSL certificate.
-- During SSL certificate change if an appropriate certificate is not found then a self-signed certificate is created.
-- Changing DA installation type.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IntermediateRootCertificate
Specifies that the IPsec root certificate specified is an intermediate root certificate.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InternalIPv6Prefix
Represents the native IPv6 prefixes used in the internal network, in corporate network. The list of prefixes specified always overwrites the existing list of prefixes.
The list of internal IPv6 prefixes is a global configuration and applies to the entire DA deployment.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IPsecRootCertificate
Specifies the root certificate to which DA should chain. The acceptable values for this parameter are:
-- Change the IPsec root certificate.
-- Enable PKI if there is no IPsec root certificate already configured. However, this cmdlet configures the certificate only on the server on which this cmdlet finally runs.
Type: | X509Certificate2 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TeredoState
Configures the state of Teredo. The acceptable values for this parameter are:
-- Enabled.
-- Disabled.
The following are the behavioral aspects of Teredo State.
-- Teredo can be enabled only if two consecutive Public IPv4 addresses are present on the Internet interface of the server.
-- In a load balancing scenario.
---- If a 3rd party load balancer is being used and Teredo has to be enabled, then the load balancer should have two consecutive IP addresses. Additionally each DA server that is part of the Load balancer must have 2 consecutive public IPv4 addresses.
---- Teredo can be enabled on a cluster if the cluster has VIPs that are two consecutive public IPv4 addresses. If such IPs are not found, then the cluster should be destroyed first and two consecutive IPs should be configured on the DA server.
-- The Teredo configuration is applicable per-computer or per-site, in the case of multi-site deployments.
Type: | String |
Accepted values: | Enabled, Disabled |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ThrottleLimit
Specifies the maximum number of concurrent operations that can be established to run the cmdlet.
If this parameter is omitted or a value of 0
is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer.
The throttle limit applies only to the current cmdlet, not to the session or to the computer.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserAuthentication
Sets the type of authentication that is used to authenticate a DA user. The acceptable values for this parameter are:
-- TwoFactor.
-- UserPasswd.
Here two-factor refers to certificate authentication, OTP authentication, or smartcard based authentication. Note: To setup OTP authentication enabling two-factor alone is not enough. It needs to be configured separately using the DAOtpAuth cmdlets.
User authentication is a global configuration that applies to the entire DA deployment.
Type: | String |
Accepted values: | TwoFactor, UserPasswd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
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[]
Outputs
The Microsoft.Management.Infrastructure.CimInstance
object is a wrapper class that displays Windows Management Instrumentation (WMI) objects.
The path after the pound sign (#
) provides the namespace and class name for the underlying WMI object.
The output object contains the following properties:
-- Type of DirectAccess installation: full or managed.
-- Authentication type.
-- Internal IPv6 prefix.
-- Client IPHTTPS IPv6 prefix.
-- Usage of computer certificate authorization for 1st tunnel: Enabled or Disabled.
-- IPsec root certificate.
-- Whether the IPsec root certificate is an intermediate root certificate.
-- Status of Teredo: Enabled or Disabled.
-- Whether the DA server is deployed behind NAT.
-- Whether the configuration in which DA is deployed is a single or double network adapter.
-- Name of the DA server GPO.
-- Status of the health check.