diff --git a/.gitignore b/.gitignore index e0de607b88..8cd5e2f6d7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ common/ *.db .openpublishing.buildcore.ps1 + +.github/prompts/ diff --git a/docset/winserver2025-ps/failoverclusters/Add-WorkgroupClusterNode.md b/docset/winserver2025-ps/failoverclusters/Add-WorkgroupClusterNode.md index 501c03b6b4..27d38d6137 100644 --- a/docset/winserver2025-ps/failoverclusters/Add-WorkgroupClusterNode.md +++ b/docset/winserver2025-ps/failoverclusters/Add-WorkgroupClusterNode.md @@ -2,57 +2,83 @@ description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml Module Name: FailoverClusters -ms.date: 09/11/2024 +ms.date: 04/25/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/add-workgroupclusternode?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: Add-WorkgroupClusterNode +ai-usage: ai-generated --- # Add-WorkgroupClusterNode ## SYNOPSIS + Adds a node to a workgroup cluster. ## SYNTAX ``` Add-WorkgroupClusterNode [-Node] <String[]> [-Credentials] <PSCredential[]> [-Name] <String> - [-Credential] <PSCredential> [-NoStorage] [-Confirm] [-WhatIf] [<CommonParameters>] + [-Credential] <PSCredential> [-NoStorage] [-Confirm] [-WhatIf] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] ``` ## DESCRIPTION -The `Add-WorkgroupClusterNode` cmdlet adds a node to a workgroup cluster. +The `Add-WorkgroupClusterNode` cmdlet adds a node to a workgroup cluster. This cmdlet lets you +expand an existing workgroup cluster by adding a new node, specifying the required credentials and +authentication method. The node can be added with or without shared storage, depending on your +configuration. ## EXAMPLES -### EXAMPLE 1 +### Example 1: Add a node to a workgroup cluster + +This example adds `Node3` to the cluster whose membership is comprised of `Node1` and `Node2`. ```powershell -$params = @{ +$parameters = @{ Node = @("Node1", "Node2") Credentials = @($cred1, $cred2) Name = "Node3" Credential = $cred3 } -Add-WorkgroupClusterNode @params +Add-WorkgroupClusterNode @parameters ``` -This example adds `Node3` to the cluster whose membership is comprised of `Node1` and `Node2`. - ## PARAMETERS -### -Node +### -AuthenticationMethod -An array of nodes to be added to the cluster. +Specifies the authentication method to use when adding the node to the workgroup cluster. Acceptable values are: + +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. ```yaml -Type: String[] +Type: WorkgroupClusterAuthenticationMethod Parameter Sets: (All) Aliases: +Accepted values: Certificates, NoCertificates Required: True -Position: 1 +Position: 5 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Credential + +The credential for the node to be added. + +```yaml +Type: System.Management.Automation.PSCredential +Parameter Sets: (All) +Aliases: + +Required: True +Position: 4 Default value: None Accept pipeline input: False Accept wildcard characters: False @@ -63,7 +89,7 @@ Accept wildcard characters: False An array of credentials for the nodes. ```yaml -Type: PSCredential[] +Type: System.Management.Automation.PSCredential[] Parameter Sets: (All) Aliases: @@ -79,7 +105,7 @@ Accept wildcard characters: False The name of the node to be added. ```yaml -Type: String +Type: System.String Parameter Sets: (All) Aliases: @@ -90,17 +116,17 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -Credential +### -Node -The credential for the node to be added. +An array of nodes to be added to the cluster. ```yaml -Type: PSCredential +Type: System.String[] Parameter Sets: (All) Aliases: Required: True -Position: 4 +Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False @@ -111,7 +137,7 @@ Accept wildcard characters: False Specifies that shared storage is ignored for the workgroup cluster node. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -127,7 +153,7 @@ Accept wildcard characters: False Prompts you for confirmation before running the cmdlet. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -143,7 +169,7 @@ Accept wildcard characters: False Shows what would happen if the cmdlet runs. The cmdlet isn't run. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -163,8 +189,28 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## INPUTS +### System.String[] + +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] + +You can pipe an array of credentials to this cmdlet. + +### System.String + +You can pipe the name of the node to be added. + +### System.Management.Automation.PSCredential + +You can pipe the credential for the node to be added. + ## OUTPUTS +### None + +This cmdlet doesn't generate any output. It performs the operation of adding a node to a workgroup cluster. + ## NOTES ## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/New-WorkgroupCluster.md b/docset/winserver2025-ps/failoverclusters/New-WorkgroupCluster.md index 1c4c0fbd37..45c387d0bd 100644 --- a/docset/winserver2025-ps/failoverclusters/New-WorkgroupCluster.md +++ b/docset/winserver2025-ps/failoverclusters/New-WorkgroupCluster.md @@ -1,16 +1,18 @@ --- -description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. +description: Creates a new workgroup cluster with the specified nodes, credentials, and configuration options. external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml Module Name: FailoverClusters -ms.date: 09/11/2024 +ms.date: 04/24/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/new-workgroupcluster?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: New-WorkgroupCluster +ai-usage: ai-generated --- # New-WorkgroupCluster ## SYNOPSIS + Creates a new workgroup cluster. ## SYNTAX @@ -18,92 +20,100 @@ Creates a new workgroup cluster. ``` New-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [[-Name] <String>] [[-StaticAddress] <String[]>] [[-IgnoreNetwork] <String[]>] - [[-ManagementPointNetworkType] <AdminAccessPointResType>] - [[-AdministrativeAccessPoint] <AdminAccessPoint>] [-NoStorage] [-S2D] [-Force] [-Confirm] [-WhatIf] - [<CommonParameters>] + [[-ManagementPointNetworkType] <AdminAccessPointResType>] [[-AdministrativeAccessPoint] <AdminAccessPoint>] + [-NoStorage] [-S2D] [-Force] [-Confirm] [-WhatIf] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] ``` ## DESCRIPTION -The `New-WorkgroupCluster` cmdlet creates a new workgroup cluster. +The `New-WorkgroupCluster` cmdlet creates a new workgroup cluster. This cmdlet allows you to specify the nodes, credentials, cluster name, network configuration, and authentication method for the new cluster. You can configure the cluster to use certificate-based or local account authentication, and optionally enable Storage Spaces Direct or specify static addresses and networks to ignore. ## EXAMPLES -### EXAMPLE 1 +### Example 1: Create a new workgroup cluster + +This example creates a new workgroup cluster named `Cluster1` with `Node1` and `Node2` using the credentials in `$cred1` and `$cred2`, without creating an administrative access point. ```powershell New-WorkgroupCluster -Node "Node1", "Node2" -Credentials $cred1, $cred2 -Name "Cluster1" ``` -This example creates a new workgroup cluster named `Cluster1` with `Node1` and `Node2` using -the credentials in `$cred1` and `$cred2`. +## PARAMETERS -Note: Only None and DNS are supported for AdministrativeAccessPoint. +### -AdministrativeAccessPoint -## PARAMETERS +Specifies the type of administrative access point that the cmdlet creates for the cluster. +Acceptable values are: -### -Node +- `DNS`: The cmdlet creates an administrative access point for the cluster. The administrative + access point is registered in DNS but isn't enabled in Active Directory Domain Services. +- `None` -An array of nodes to be included in the cluster. +The cmdlet doesn't create an administrative access point for the cluster. Some clustered roles and +functionality might not be available for a cluster that doesn't have an administrative access +point. Also, you cannot use Failover Cluster Manager to manage a cluster that doesn't have an +administrative access point. ```yaml -Type: String[] +Type: AdminAccessPoint Parameter Sets: (All) Aliases: +Accepted values: None, Dns Required: False -Position: 1 -Default value: @() +Position: 7 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Credentials - -An array of credentials for the nodes. +### -AuthenticationMethod +Specifies the authentication method to use when creating the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. ```yaml -Type: PSCredential[] +Type: WorkgroupClusterAuthenticationMethod Parameter Sets: (All) Aliases: +Accepted values: Certificates, NoCertificates -Required: False -Position: 2 +Required: True +Position: 8 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Name +### -Credentials -The name of the workgroup cluster. +An array of credentials for the nodes. ```yaml -Type: String +Type: System.Management.Automation.PSCredential[] Parameter Sets: (All) Aliases: Required: False -Position: 3 +Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -StaticAddress +### -Force -Specifies one or more static addresses to use when running the cmdlet. Networks with DHCP enabled -are always included, but other networks need a static address to be specified using the -**StaticAddress** parameter or should be explicitly ignored with this **IgnoreNetwork** parameter. +Forces the command to run without asking for user confirmation. ```yaml -Type: String[] +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: Required: False -Position: 4 -Default value: None +Position: Named +Default value: False Accept pipeline input: False Accept wildcard characters: False ``` @@ -115,7 +125,7 @@ always included, but other networks need a static address to be specified using **StaticAddress** parameter or should be explicitly ignored with this **IgnoreNetwork** parameter. ```yaml -Type: String[] +Type: System.String[] Parameter Sets: (All) Aliases: @@ -151,29 +161,34 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -AdministrativeAccessPoint +### -Name -Specifies the type of administrative access point that the cmdlet creates for the cluster. -Acceptable values are: +The name of the workgroup cluster. -- `DNS`: The cmdlet creates an administrative access point for the cluster. The administrative - access point is registered in DNS but isn't enabled in Active Directory Domain Services. -- `None` +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: -The cmdlet doesn't create an administrative access point for the cluster. Some clustered roles and -functionality might not be available for a cluster that doesn't have an administrative access -point. Also, you cannot use Failover Cluster Manager to manage a cluster that doesn't have an -administrative access point. +Required: False +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Node + +An array of nodes to be included in the cluster. ```yaml -Type: AdminAccessPoint +Type: System.String[] Parameter Sets: (All) Aliases: -Accepted values: None, Dns Required: False -Position: 7 -Default value: None +Position: 1 +Default value: @() Accept pipeline input: False Accept wildcard characters: False ``` @@ -183,7 +198,7 @@ Accept wildcard characters: False Specifies that shared storage is ignored for the workgroup cluster node. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -199,7 +214,7 @@ Accept wildcard characters: False Specifies whether to enable Storage Spaces Direct when creating the workgroup cluster. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -210,18 +225,20 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -Force +### -StaticAddress -Forces the command to run without asking for user confirmation. +Specifies one or more static addresses to use when running the cmdlet. Networks with DHCP enabled +are always included, but other networks need a static address to be specified using the +**StaticAddress** parameter or should be explicitly ignored with this **IgnoreNetwork** parameter. ```yaml -Type: SwitchParameter +Type: System.String[] Parameter Sets: (All) Aliases: Required: False -Position: Named -Default value: False +Position: 4 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` @@ -231,7 +248,7 @@ Accept wildcard characters: False Prompts you for confirmation before running the cmdlet. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -247,7 +264,7 @@ Accept wildcard characters: False Shows what would happen if the cmdlet runs. The cmdlet isn't run. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -267,8 +284,20 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## INPUTS +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + +### System.String +You can pipe the name of the cluster to be created. + ## OUTPUTS +### None +This cmdlet does not generate any output. It performs the operation of creating a new workgroup cluster. + ## NOTES ## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupCluster.md b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupCluster.md index f08fbaf834..629a40e6a5 100644 --- a/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupCluster.md +++ b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupCluster.md @@ -1,8 +1,8 @@ --- -description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. +description: Removes a workgroup cluster. This cmdlet disconnects and removes all nodes from the specified workgroup cluster, using the provided credentials and authentication method. external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml Module Name: FailoverClusters -ms.date: 09/11/2024 +ms.date: 04/24/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/remove-workgroupcluster?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: Remove-WorkgroupCluster @@ -16,13 +16,13 @@ Removes a workgroup cluster. ## SYNTAX ``` -Remove-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [-Force] [-Confirm] - [-WhatIf] [<CommonParameters>] +Remove-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [-Force] [-Confirm] [-WhatIf] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] ``` ## DESCRIPTION -The `Remove-WorkgroupCluster` cmdlet removes a workgroup cluster. +The `Remove-WorkgroupCluster` cmdlet removes a workgroup cluster. This cmdlet disconnects and removes all nodes from the specified workgroup cluster, using the provided credentials and authentication method. If communication is lost with a node or the cluster membership is incomplete, manual cleanup may be required. ## EXAMPLES @@ -39,18 +39,20 @@ be removed and manual cleanup may be needed. ## PARAMETERS -### -Node - -An array of nodes that form the current cluster. +### -AuthenticationMethod +Specifies the authentication method to use when removing the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. ```yaml -Type: String[] +Type: WorkgroupClusterAuthenticationMethod Parameter Sets: (All) Aliases: +Accepted values: Certificates, NoCertificates -Required: False -Position: 1 -Default value: @() +Required: True +Position: 3 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` @@ -60,7 +62,7 @@ Accept wildcard characters: False An array of credentials for the nodes. ```yaml -Type: PSCredential[] +Type: System.Management.Automation.PSCredential[] Parameter Sets: (All) Aliases: @@ -76,7 +78,7 @@ Accept wildcard characters: False Forces the command to run without asking for user confirmation. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -87,12 +89,28 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -Node + +An array of nodes that form the current cluster. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: @() +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -Confirm Prompts you for confirmation before running the cmdlet. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -108,7 +126,7 @@ Accept wildcard characters: False Shows what would happen if the cmdlet runs. The cmdlet isn't run. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -128,8 +146,17 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## INPUTS +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + ## OUTPUTS +### None +This cmdlet does not generate any output. It performs the operation of removing a workgroup cluster. + ## NOTES ## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterCertificates.md b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterCertificates.md new file mode 100644 index 0000000000..3dff54e915 --- /dev/null +++ b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterCertificates.md @@ -0,0 +1,94 @@ +--- +description: Remove certificates issued by a specific issuer from the local machine and current user certificate stores. +external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml +Module Name: FailoverClusters +online version: +schema: 2.0.0 +ms.date: 04/24/2025 +--- + +# Remove-WorkgroupClusterCertificates + +## SYNOPSIS +Removes certificates issued by a specific issuer from the local machine and current user certificate stores. + +## SYNTAX + +``` +Remove-WorkgroupClusterCertificates [[-Authority] <String>] [-Force] [<CommonParameters>] +``` + +## DESCRIPTION +The Remove-WorkgroupClusterCertificates function removes certificates from the following certificate stores: +- Cert:\LocalMachine\My +- Cert:\LocalMachine\Local Cert Issuer +- Cert:\LocalMachine\Root +- Cert:\CurrentUser\My +- Cert:\CurrentUser\CA + +Certificates are filtered for those issued by an issuer name that starts with the value specified in the **Authority** parameter (by default, "PKU2UAuthority*"). + +## EXAMPLES + +### EXAMPLE 1 +``` +Remove-WorkgroupClusterCertificates -Force +``` + +Removes all certificates issued by "CN=PKU2UAuthority*" from the certificate stores without prompting for confirmation. + +### EXAMPLE 2 +``` +Remove-WorkgroupClusterCertificates +``` + +Prompts for confirmation before removing each certificate issued by "CN=PKU2UAuthority*" from the certificate stores. + +## PARAMETERS + +### -Authority +Specifies the issuer name prefix to match when removing certificates. Only certificates issued by an issuer whose name starts with this value will be removed. The default is "PKU2UAuthority*". + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: PKU2UAuthority* +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Indicates whether to force the removal of certificates without prompting for confirmation. By default, the value is $false. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### System.String +You can pipe a string value for the Authority parameter to this cmdlet. + +## OUTPUTS + +### None +This cmdlet does not generate any output. It performs the operation of removing certificates from the specified certificate stores. + +## NOTES + +## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterNode.md b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterNode.md index e3e63f393b..7fa7869fc5 100644 --- a/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterNode.md +++ b/docset/winserver2025-ps/failoverclusters/Remove-WorkgroupClusterNode.md @@ -1,16 +1,18 @@ --- -description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. +description: Learn how to remove a node from a workgroup cluster using the Remove-WorkgroupClusterNode cmdlet in PowerShell. Includes syntax, examples, and parameter details. external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml Module Name: FailoverClusters -ms.date: 09/11/2024 +ms.date: 04/24/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/remove-workgroupclusternode?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: Remove-WorkgroupClusterNode +ai-usage: ai-generated --- # Remove-WorkgroupClusterNode ## SYNOPSIS + Removes a node from a workgroup cluster. ## SYNTAX @@ -18,116 +20,115 @@ Removes a node from a workgroup cluster. ``` Remove-WorkgroupClusterNode [-Node] <String[]> [-Credentials] <PSCredential[]> [-Name] <String> [[-Wait] <Int32>] [-IgnoreStorageConnectivityLoss] [-CleanupDisks] [-Force] [-Confirm] [-WhatIf] - [<CommonParameters>] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] ``` ## DESCRIPTION -The `Remove-WorkgroupCluster` function removes a node from the membership in a workgroup Cluster. -The rest of the parameters will be forwarded to the `Remove-ClusterNode` function. Please refer to -the documentation for the +The `Remove-WorkgroupClusterNode` function removes a node from the membership in a workgroup +cluster. The rest of the parameters will be forwarded to the `Remove-ClusterNode` function. Please +refer to the documentation for the [Remove-ClusterNode](/powershell/module/failoverclusters/remove-clusternode) cmdlet. ## EXAMPLES -### EXAMPLE 1 +### Example 1: Remove a node from the cluster + +This example removes the node named `Node2` from the cluster that consists of `Node1` and `Node2`. ```powershell Remove-WorkgroupClusterNode -Node "Node1", "Node2" -Credentials $cred1, $cred2 -Name $Node2 ``` -This example removes `Node2` from the cluster membership. +### Example 2: Remove a node not currently in the cluster -### EXAMPLE 2 +This example removes `Node3` from the cluster membership. Manual cleanup may be required to clear the node state by logging into `Node3` and running `Clear-ClusterNode`. ```powershell Remove-WorkgroupClusterNode -Node "Node1", "Node2" -Credentials $cred1, $cred2 -Name $Node3 ``` -This example removes `Node3` from the cluster membership. - -Manual cleanup may be required to clear the node state by logging into `Node3` and running -`Clear-ClusterNode`. - ## PARAMETERS -### -Node +### -AuthenticationMethod -An array of nodes in the workgroup cluster. +Specifies the authentication method to use when removing the node from the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. ```yaml -Type: String[] +Type: WorkgroupClusterAuthenticationMethod Parameter Sets: (All) Aliases: +Accepted values: Certificates, NoCertificates Required: True -Position: 1 +Position: 5 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Credentials +### -CleanupDisks -An array of credentials for the nodes. +Removes any residual cluster metadata from the specified disks. This metadata includes information +that the cluster service uses to manage the disks. By cleaning the metadata, the disks are freed +from any old cluster configurations, making them available for new clusters or other purposes. This +cmdlet may prevent potential conflicts that could arise from leftover metadata when reusing disks. ```yaml -Type: PSCredential[] +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: -Required: True -Position: 2 -Default value: None +Required: False +Position: Named +Default value: False Accept pipeline input: False Accept wildcard characters: False ``` -### -Name +### -Credentials -The name of the node to be removed. If the name isn't included in **Node** parameter, the first -node in the **Node** parameter will be used to remove the node. Additional cleanup will be required -to clear the node state. +An array of credentials for the nodes. ```yaml -Type: String +Type: System.Management.Automation.PSCredential[] Parameter Sets: (All) Aliases: Required: True -Position: 3 +Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Wait +### -Force -Specifies the time in seconds to wait for the cmdlet. If the **Wait** parameter isn't specified, -then the cmdlet waits for completion. If the value `0` is specified, then the call is initiated and -the cmdlet returns without waiting. +Forces the command to run without asking for user confirmation. ```yaml -Type: Int32 +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: Required: False -Position: 4 -Default value: 0 +Position: Named +Default value: False Accept pipeline input: False Accept wildcard characters: False ``` -### -CleanupDisks +### -IgnoreStorageConnectivityLoss -Removes any residual cluster metadata from the specified disks. This metadata includes information -that the cluster service uses to manage the disks. By cleaning the metadata, the disks are freed -from any old cluster configurations, making them available for new clusters or other purposes. This -cmdlet may prevent potential conflicts that could arise from leftover metadata when reusing disks. +Indicates that this cmdlet doesn't check whether the cluster node contains non-shared storage, if +Storage Spaces Direct is enabled. If you don't specify this parameter, the cmdlet checks whether +this node has any Storage Spaces Direct storage. If this cmdlet finds Storage Spaces Direct storage, +it prompts you for confirmation before it removes the node. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -138,37 +139,54 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -Force +### -Name -Forces the command to run without asking for user confirmation. +The name of the node to be removed. If the name isn't included in **Node** parameter, the first +node in the **Node** parameter will be used to remove the node. Additional cleanup will be required +to clear the node state. ```yaml -Type: SwitchParameter +Type: System.String Parameter Sets: (All) Aliases: -Required: False -Position: Named -Default value: False +Required: True +Position: 3 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -IgnoreStorageConnectivityLoss +### -Node -Indicates that this cmdlet doesn't check whether the cluster node contains non-shared storage, if -Storage Spaces Direct is enabled. If you don't specify this parameter, the cmdlet checks whether -this node has any Storage Spaces Direct storage. If this cmdlet finds Storage Spaces Direct storage, -it prompts you for confirmation before it removes the node. +An array of nodes in the workgroup cluster. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Wait + +Specifies the time in seconds to wait for the cmdlet. If the **Wait** parameter isn't specified, +then the cmdlet waits for completion. If the value `0` is specified, then the call is initiated and +the cmdlet returns without waiting. ```yaml -Type: SwitchParameter +Type: System.Int32 Parameter Sets: (All) Aliases: Required: False -Position: Named -Default value: False +Position: 4 +Default value: 0 Accept pipeline input: False Accept wildcard characters: False ``` @@ -178,7 +196,7 @@ Accept wildcard characters: False Prompts you for confirmation before running the cmdlet. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -194,7 +212,7 @@ Accept wildcard characters: False Shows what would happen if the cmdlet runs. The cmdlet isn't run. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: @@ -214,8 +232,20 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## INPUTS +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + +### System.String +You can pipe the name of the node to be removed. + ## OUTPUTS +### None +This cmdlet does not generate any output. + ## NOTES ## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Start-WorkgroupCluster.md b/docset/winserver2025-ps/failoverclusters/Start-WorkgroupCluster.md new file mode 100644 index 0000000000..903b623221 --- /dev/null +++ b/docset/winserver2025-ps/failoverclusters/Start-WorkgroupCluster.md @@ -0,0 +1,117 @@ +--- +description: Starts a workgroup cluster, bringing the specified nodes online and making them available for use. +external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml +Module Name: FailoverClusters +online version: +schema: 2.0.0 +ms.date: 04/24/2025 +--- + +# Start-WorkgroupCluster + +## SYNOPSIS +Starts a workgroup cluster. + +## SYNTAX + +``` +Start-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [-IgnorePersistentState] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] +``` + +## DESCRIPTION +The Start-WorkgroupCluster function starts a workgroup cluster. This cmdlet brings the specified workgroup cluster online, using the provided credentials and authentication method. You can optionally ignore the persistent state of the cluster when starting it. + +## EXAMPLES + +### EXAMPLE 1 +``` +Start-WorkgroupCluster -Node "Node1", "Node2" -Credentials $cred1, $cred2 +``` + +This example starts the cluster. + +## PARAMETERS + +### -AuthenticationMethod +Specifies the authentication method to use when starting the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. + +```yaml +Type: WorkgroupClusterAuthenticationMethod +Parameter Sets: (All) +Aliases: +Accepted values: Certificates, NoCertificates + +Required: True +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Credentials +An array of credentials for the nodes. + +```yaml +Type: PSCredential[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IgnorePersistentState +Indicates that the cmdlet should start the cluster without restoring the previous persistent state. This can be useful if you want to start the cluster in a clean state, ignoring any saved cluster state from previous operations. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Node +An array of nodes that form the current cluster. + +```yaml +Type: String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: @() +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + +## OUTPUTS + +### None +This cmdlet does not generate any output. It performs the operation of starting a workgroup cluster. + +## NOTES + +## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Stop-WorkgroupCluster.md b/docset/winserver2025-ps/failoverclusters/Stop-WorkgroupCluster.md new file mode 100644 index 0000000000..a83dd99568 --- /dev/null +++ b/docset/winserver2025-ps/failoverclusters/Stop-WorkgroupCluster.md @@ -0,0 +1,117 @@ +--- +description: Stops a workgroup cluster, bringing the specified nodes offline and making them unavailable for use. +external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml +Module Name: FailoverClusters +online version: +schema: 2.0.0 +ms.date: 04/24/2025 +--- + +# Stop-WorkgroupCluster + +## SYNOPSIS +Stop a workgroup cluster. + +## SYNTAX + +``` +Stop-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [-Confirm] + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] +``` + +## DESCRIPTION +The Stop-WorkgroupCluster function stops a workgroup cluster. This cmdlet takes the specified workgroup cluster offline, using the provided credentials and authentication method. You can optionally prompt for confirmation before stopping the cluster. + +## EXAMPLES + +### EXAMPLE 1 +``` +Stop-WorkgroupCluster -Node "Node1", "Node2" -Credentials $cred1, $cred2 +``` + +This example stops the cluster. + +## PARAMETERS + +### -AuthenticationMethod +Specifies the authentication method to use when stopping the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. + +```yaml +Type: WorkgroupClusterAuthenticationMethod +Parameter Sets: (All) +Aliases: +Accepted values: Certificates, NoCertificates + +Required: True +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Credentials +An array of credentials for the nodes. + +```yaml +Type: PSCredential[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Node +An array of nodes that form the current cluster. + +```yaml +Type: String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: @() +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + +## OUTPUTS + +### None +This cmdlet does not generate any output. It performs the operation of stopping a workgroup cluster. + +## NOTES + +## RELATED LINKS diff --git a/docset/winserver2025-ps/failoverclusters/Test-WorkgroupCluster.md b/docset/winserver2025-ps/failoverclusters/Test-WorkgroupCluster.md index 0d68dd5b64..b76b875571 100644 --- a/docset/winserver2025-ps/failoverclusters/Test-WorkgroupCluster.md +++ b/docset/winserver2025-ps/failoverclusters/Test-WorkgroupCluster.md @@ -2,7 +2,7 @@ description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. external help file: Microsoft.FailoverClusters.Adless.PowerShell.psm1-help.xml Module Name: FailoverClusters -ms.date: 09/11/2024 +ms.date: 04/24/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/test-workgroupcluster?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: Test-WorkgroupCluster @@ -17,8 +17,9 @@ Tests the configuration of a workgroup cluster. ``` Test-WorkgroupCluster [[-Node] <String[]>] [[-Credentials] <PSCredential[]>] [[-Disk] <Object[]>] - [[-Pool] <Object[]>] [[-ReportName] <String>] [[-Include] <String[]>] [[-Ignore] <String[]>] - [-Force] [[-Cluster] <String>] [-Confirm] [-WhatIf] [-Destination] <String> [<CommonParameters>] + [[-Pool] <Object[]>] [[-ReportName] <String>] [[-Include] <String[]>] [[-Ignore] <String[]>] [-Force] + [[-Cluster] <String>] [-Confirm] [-WhatIf] [-Destination] <String> + [-AuthenticationMethod] <WorkgroupClusterAuthenticationMethod> [<CommonParameters>] ``` ## DESCRIPTION @@ -40,18 +41,37 @@ credentials in `$cred1` and `$cred2`, and additional parameters. ## PARAMETERS -### -Node +### -AuthenticationMethod +Specifies the authentication method to use when testing the workgroup cluster. Acceptable values are: +- `Certificates`: Uses certificate-based authentication for secure communication between nodes. +- `NoCertificates`: Uses local user accounts and passwords for authentication without certificates. -An array of nodes in the workgroup cluster. +```yaml +Type: WorkgroupClusterAuthenticationMethod +Parameter Sets: (All) +Aliases: +Accepted values: Certificates, NoCertificates + +Required: True +Position: 10 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Cluster + +Specifies the name of the cluster on which to run this cmdlet. If the input for this parameter is +`.` or it is omitted, then the cmdlet runs on the local cluster. ```yaml -Type: String[] +Type: System.String Parameter Sets: (All) Aliases: Required: False -Position: 2 -Default value: @() +Position: 8 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` @@ -61,17 +81,34 @@ Accept wildcard characters: False An array of credentials for the nodes. ```yaml -Type: PSCredential[] +Type: System.Management.Automation.PSCredential[] Parameter Sets: (All) Aliases: Required: False -Position: 3 +Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` +### -Destination + +Specifies the location to which to copy one or more cluster logs. To copy to the current folder, use +`.` for this parameter input. Default location is `C:\Windows\Cluster\Reports`. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 9 +Default value: (Get-Location).Path +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -Disk Specifies the disk number or disks for which to run the cmdlet. If the specified disk is online and @@ -93,58 +130,45 @@ Acceptable values are: module. ```yaml -Type: Object[] +Type: System.Object[] Parameter Sets: (All) Aliases: Required: False -Position: 4 +Position: 3 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Pool - -Specifies the clustered storage pool or pools for which to run the cmdlet. When the specified -storage pool is online and a virtual disk in the storage pool is assigned to a clustered role or -Cluster Shared Volume, you must also specify the **Force** parameter to take the storage pool -offline for the duration of the storage tests. Otherwise, the command will exit with an error. - -The specified storage pool must be taken offline before running the storage tests. If the **Pool** -parameter isn't specified, storage tests run on all storage pools that are available for use in the -cluster or that are in the cluster resource offline or failed state. - -Acceptable values are: +### -Force -- **System.String**: A string that represents the name of the clustered storage pool or pools. -- **ClusterResource**: A cluster resource object that represents a clustered storage pool. -- **CimInstance#MSFT_StoragePool**: An object returned from `Get-StoragePool`, from the Windows - PowerShell storage module. +Forces the command to run without asking for user confirmation. ```yaml -Type: Object[] +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: Required: False -Position: 5 -Default value: None +Position: Named +Default value: False Accept pipeline input: False Accept wildcard characters: False ``` -### -ReportName +### -Ignore -Specifies the name of the test report to generate. +Specifies which tests or category of tests to ignore during the validation test run. All other +tests or category of tests will run. ```yaml -Type: String +Type: System.String[] Parameter Sets: (All) Aliases: Required: False -Position: 6 +Position: 7 Default value: None Accept pipeline input: False Accept wildcard characters: False @@ -156,62 +180,74 @@ Specifies which tests or category of tests to include during the validation test or category of tests specified will run. ```yaml -Type: String[] +Type: System.String[] Parameter Sets: (All) Aliases: Required: False -Position: 7 +Position: 6 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Ignore +### -Node -Specifies which tests or category of tests to ignore during the validation test run. All other -tests or category of tests will run. +An array of nodes in the workgroup cluster. ```yaml -Type: String[] +Type: System.String[] Parameter Sets: (All) Aliases: Required: False -Position: 8 -Default value: None +Position: 1 +Default value: @() Accept pipeline input: False Accept wildcard characters: False ``` -### -Force +### -Pool -Forces the command to run without asking for user confirmation. +Specifies the clustered storage pool or pools for which to run the cmdlet. When the specified +storage pool is online and a virtual disk in the storage pool is assigned to a clustered role or +Cluster Shared Volume, you must also specify the **Force** parameter to take the storage pool +offline for the duration of the storage tests. Otherwise, the command will exit with an error. + +The specified storage pool must be taken offline before running the storage tests. If the **Pool** +parameter isn't specified, storage tests run on all storage pools that are available for use in the +cluster or that are in the cluster resource offline or failed state. + +Acceptable values are: + +- **System.String**: A string that represents the name of the clustered storage pool or pools. +- **ClusterResource**: A cluster resource object that represents a clustered storage pool. +- **CimInstance#MSFT_StoragePool**: An object returned from `Get-StoragePool`, from the Windows + PowerShell storage module. ```yaml -Type: SwitchParameter +Type: System.Object[] Parameter Sets: (All) Aliases: Required: False -Position: 9 -Default value: False +Position: 4 +Default value: None Accept pipeline input: False Accept wildcard characters: False ``` -### -Cluster +### -ReportName -Specifies the name of the cluster on which to run this cmdlet. If the input for this parameter is -`.` or it is omitted, then the cmdlet runs on the local cluster. +Specifies the name of the test report to generate. ```yaml -Type: String +Type: System.String Parameter Sets: (All) Aliases: Required: False -Position: 10 +Position: 5 Default value: None Accept pipeline input: False Accept wildcard characters: False @@ -222,12 +258,12 @@ Accept wildcard characters: False Prompts you for confirmation before running the cmdlet. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: Required: False -Position: 11 +Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False @@ -238,34 +274,17 @@ Accept wildcard characters: False Shows what would happen if the cmdlet runs. The cmdlet isn't run. ```yaml -Type: SwitchParameter +Type: System.Management.Automation.SwitchParameter Parameter Sets: (All) Aliases: Required: False -Position: 12 +Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False ``` -### -Destination - -Specifies the location to which to copy one or more cluster logs. To copy to the current folder, use -`.` for this parameter input. Default location is `C:\Windows\Cluster\Reports`. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 13 -Default value: (Get-Location).Path -Accept pipeline input: False -Accept wildcard characters: False -``` - ### CommonParameters This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, @@ -275,8 +294,23 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## INPUTS +### System.String[] +You can pipe an array of node names to this cmdlet. + +### System.Management.Automation.PSCredential[] +You can pipe an array of credentials to this cmdlet. + +### System.Object[] +You can pipe an array of disk or storage pool objects to this cmdlet. + +### System.String +You can pipe the name of the cluster, report, or destination path to this cmdlet. + ## OUTPUTS +### Microsoft.FailoverClusters.PowerShell.ClusterValidationReport +Returns a ClusterValidationReport object that contains the results of the cluster validation tests, including the status of each test and the location of the generated report. + ## NOTES ## RELATED LINKS