You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Includes additional service properties such as SQL Server version, service pack level, SKU name, and cluster information.<br/>
737
-
Use this when you need detailed service information for inventory, compliance, or troubleshooting purposes. Note that this adds processing time to the command.<br></p>
737
+
Use this when you need detailed service information for inventory, compliance, or troubleshooting purposes. Note that this adds processing time to the command.<br/>
738
+
This will also output the additional property SqlInstance based on the Clustered and VSName properties for engine services.<br/>
739
+
Use this property to connect to the correct SQL instance.<br></p>
<p>By default, SqlPackage is installed as a portable ZIP file to the dbatools directory for CurrentUser scope, making it immediately available for database deployment tasks without requiring system-wide installation.<br/>
498
498
For AllUsers (LocalMachine) scope on Windows, you can use the MSI installer which requires administrative privileges and provides system-wide access.</p>
499
-
<p>Writes to $script:PSModuleRoot\bin\sqlpackage by default for CurrentUser scope.</p>
499
+
<p>Writes to dbatools data directory by default for CurrentUser scope.</p>
<p>If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.<br></p>
673
-
<table>
674
-
<thead>
675
-
<tr>
676
-
<th></th>
677
-
<th></th>
678
-
</tr>
679
-
</thead>
680
-
<tbody>
681
-
<tr>
682
-
<td>Alias</td>
683
-
<td>wi</td>
684
-
</tr>
685
-
<tr>
686
-
<td>Required</td>
687
-
<td>False</td>
688
-
</tr>
689
-
<tr>
690
-
<td>Pipeline</td>
691
-
<td>false</td>
692
-
</tr>
693
-
<tr>
694
-
<td>Default Value</td>
695
-
<td></td>
696
-
</tr>
697
-
</tbody>
698
-
</table>
699
-
<h5id="confirm">-Confirm</h5>
700
-
<p>If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.<br></p>
Want to see the Bill Of Health for this command? Check out <ahref="https://dataplat.github.io/boh#Test-DbaKerberos">Test-DbaKerberos</a>.</p>
487
487
<h2id="synopsis">Synopsis</h2>
488
-
<p>Tests Kerberos authentication configuration for SQL Server instances by performing comprehensive diagnostic checks</p>
488
+
<p>Tests Kerberos authentication configuration for SQL Server instances by performing comprehensive diagnostic checks.</p>
489
489
<h2id="description">Description</h2>
490
490
<p>This function performs a comprehensive suite of diagnostic checks to troubleshoot Kerberos authentication issues for SQL Server instances. It addresses the most common causes of Kerberos authentication failures including SPN configuration problems, DNS issues, time synchronization errors, service account configuration, network connectivity problems, and security policy misconfigurations.</p>
491
-
<p>The function performs 25+ checks across multiple categories:</p>
491
+
<p>The function performs 20 checks across 9 categories (plus additional checks per AG listener):</p>
492
+
<p>SPN (1-2+ checks):</p>
492
493
<ul>
493
-
<li>SPN validation (duplicate detection, format validation, ownership verification)</li>
494
-
<li>Time synchronization (client-server and server-DC time comparisons)</li>
<li>SPN Registration - Verifies required SPNs are registered using Test-DbaSpn</li>
495
+
<li>AG Listener SPN - One check per Availability Group listener (if any exist)</li>
501
496
</ul>
502
-
<p>Each check returns a structured result with status (Pass/Fail/Warning), detailed findings, and actionable remediation recommendations. Use the -Detailed switch for verbose diagnostic output including intermediate check results.</p>
503
-
<p>This command is essential for troubleshooting authentication failures, validating Kerberos setup before migrations, performing security audits, and as part of regular maintenance to ensure proper authentication across SQL Server environments.</p>
497
+
<p>Time Sync (2 checks):</p>
498
+
<ul>
499
+
<li>Client-Server time synchronization (5-minute Kerberos threshold)</li>
500
+
<li>Server-DC time synchronization</li>
501
+
</ul>
502
+
<p>DNS (3 checks):</p>
503
+
<ul>
504
+
<li>Forward lookup verification</li>
505
+
<li>Reverse lookup verification</li>
506
+
<li>CNAME detection (CNAMEs break Kerberos)</li>
507
+
</ul>
508
+
<p>Service Account (3 checks):</p>
509
+
<ul>
510
+
<li>Service account type validation (gMSA, domain account, built-in accounts)</li>
511
+
<li>Account lock status in Active Directory</li>
512
+
<li>Delegation settings ("sensitive and cannot be delegated" flag)</li>
513
+
</ul>
514
+
<p>Authentication (1 check):</p>
515
+
<ul>
516
+
<li>Current authentication scheme (Kerberos vs NTLM)</li>
517
+
</ul>
518
+
<p>Network (3 checks):</p>
519
+
<ul>
520
+
<li>Kerberos port TCP/88 connectivity to DC</li>
521
+
<li>LDAP port TCP/389 connectivity to DC</li>
522
+
<li>Kerberos-Kdc port TCP/464 connectivity to DC</li>
<li>Kerberos ticket cache inspection via klist</li>
538
+
</ul>
539
+
<p>Each check returns a structured result with ComputerName, InstanceName, Check, Category, Status (Pass/Fail/Warning), Details, and Remediation recommendations.</p>
540
+
<p>Note: When using -ComputerName instead of -SqlInstance, SQL Server-specific checks (service account, authentication scheme, network protocols) are skipped.</p>
<p>Performs comprehensive Kerberos diagnostic checks for the sql2016 instance, returning pass/fail status for each check.<br></p>
561
+
<p>Performs comprehensive Kerberos diagnostic checks for the sql2016 instance, returning pass/fail/warning status for each check with remediation recommendations.<br></p>
<p>Performs comprehensive Kerberos diagnostic checks with detailed output including verbose findings and intermediate results.<br></p>
565
+
<p>Tests Kerberos configuration using SQL credentials to connect to the instance and separate AD credentials for remote WinRM and Active Directory queries.<br></p>
<p>Tests Kerberos configuration for all SQL instances on SERVER01 using specified AD credentials.<br></p>
573
+
<p>Tests Kerberos configuration at the computer level using specified credentials for WinRM and AD queries. SQL Server-specific checks are skipped.<br></p>
0 commit comments