MS Windows Server

All posts containing Windows-related scripts and patterns.

KERBEROS short manual

Om KERBEROS authenticatie mogelijk te maken, moet er een Service Principle Name (SPN) worden gedefinieerd. Een SPN bestaat uit een aantal componenten, namelijk: een service class (bijvoorbeeld: HTTP, MSSQLSvc of MSCRMSandboxService), een hostnaam en een poortnummer.

Het authenticatie proces verloopt als volgt. Een client vraagt een service ticket aan de Key Distribution Centre (KDC) van de domain controller. Deze zoekt  dan de SPN op in de directory. Als de SPN wordt gevonden maakt de KDC een session key aan en versleuteld deze met het wachtwoord van het service account. Vervolgens verstuurd de KDC de service ticket met daarin de session key naar de client. De client verstuurd de service ticket naar de service. De service, die onder het service account draait waaraan de SPN is gekoppeld, decodeert de session key met haar eigen wachtwoord. Zodra het decoderen succesvol is verlopen is de authenticatie gelukt.

 

Met het volgende commando registreer je een SQL Service Principle Name in Active Directory.

SetSPN -A MSSQLSvc/HOSTNAME:1433 DOMAINservice-account
SetSPN -A MSSQLSvc/HOSTNAME.fqdn:1433 DOMAINservice-account

 

Met het onderstaande commando kun je de geregistreerde SPN opvragen.

SetSPN -L DOMAINservice-account

 

Check if SQL-connection is authenticated with KERBEROS.

SELECT auth_scheme FROM sys.dm_exec_connections where session_id=@@spid

 

KERBEROS short manual Read More »

MSCLUSTER 2008 Cluster Commandline

Display cluster resources.

cluster [group | res]
PS> [Get-ClusterGroup | Get-ClusterResource] -Cluster "<CLUSTERNAME>"
PS> Get-ClusterGroup -Cluster "<CLUSTERNAME>" | Where-Object { $_.OwnerNode -eq "<CLUSTERNODE>" } | SELECT Name

Move a cluster group to a different node.

cluster group "Cluster Group" /moveto:<NODENAME>
PS>  Move-ClusterGroup -Name "Cluster Group" -Cluster "<CLUSTERNAME>" -Node "<CLUSTERNODE>"

Display all registered nodes for a resource.

cluster res "SQL Network Name (NETWORKNAME)" /listowners
PS> Get-ClusterOwnerNode -Cluster "<CLUSTERNAME>" -Resource "<CLUSTERRESOURCE>

Bring cluster group online…

PS> Start-ClusterGroup -Name "<CLUSTERGROUPNAME>"

Switch a AlwaysOn Group to a secondary replica…

Switch-SqlAvailabilityGroup -Path SQLSERVER:\SQL\[SERVER]\[INSTANCE]|DEFAULT\AvailabilityGroups\[AOGROUP]

Change witness fileshare on a NodeAndFileMajority cluster. First change to NodeMajority and then back to NodeAndFileMajority using the new fileshare.

PS> Set-ClusterQuorum -NodeMajority
PS> Set-ClusterQuorum -NodeAndFileShareMajority \\server\fswitness$\clustername

MSCLUSTER 2008 Cluster Commandline Read More »