Problem
Find SQL Server Maintenance Plans
Solution
#NOSQLPS#-TrustServerCertificate works from v22 and up. if unknown, run Install-Module -Name SQLServer -AllowClobber -Confirm:$False -Force$server_name = [System.Net.Dns]::GetHostEntry($env:computerName).HostName$data = @(Get-ChildItem -Path cert: -Recurse | Select-Object PSPath,PSChildName,DnsNameList,SerialNumber,IssuerName,NotAfter,FriendlyName,Issuer,Subject | Where-Object { $_.FriendlyName -eq "SQLSERVER" } )$PSPath = $data.PSPath$PSChildName = $data.PSChildName$DnsNameList = $data.DnsNameList$SerialNumber = $data.SerialNumber$IssuerName = $data.IssuerName$NotAfter = $data.NotAfter$FriendlyName = $data.FriendlyName$Issuer = $data.Issuer$Subject = $data.Subjectif ($PSPath -ne $null){$query="EXEC DBA.maintenance.usp_collect_server_tls_info @PSPath='$PSPath',@PSChildName='$PSChildName',@DnsNameList='$DnsNameList',@SerialNumber='$SerialNumber',@IssuerName='$IssuerName',@NotAfter='$NotAfter',@FriendlyName='$FriendlyName',@Issuer='$Issuer',@Subject='$Subject'" Write-Output "starting $query"Invoke-SQLcmd -ServerInstance $server_name -query $query -Database DBA -TrustServerCertificateWrite-Output "completed $query"}