From 31b0589e02fce02788e01607ad9b95fa28312fb1 Mon Sep 17 00:00:00 2001 From: Malcolm Stewart <63060860+Malcolm-Stewart@users.noreply.github.com> Date: Wed, 4 Dec 2024 18:13:17 -0500 Subject: [PATCH] SQLCheck Account Fixes Fixed SPN lookups with UPN-style account names by converting them all the NT Account-style names. --- .../SQLCheck/v15/Server/sqlite3/storage.ide | Bin 733184 -> 733184 bytes SQLCheck/SQLCheck/Collectors.cs | 76 ++++++++++++------ SQLCheck/SQLCheck/Properties/AssemblyInfo.cs | 4 +- SQLCheck/SQLCheck/Storage.cs | 5 +- SQLCheck/SQLCheck/TextReport.cs | 2 + SQLCheck/SQLCheck/Utility.cs | 39 +++++++++ 6 files changed, 97 insertions(+), 29 deletions(-) diff --git a/SQLCheck/.vs/SQLCheck/v15/Server/sqlite3/storage.ide b/SQLCheck/.vs/SQLCheck/v15/Server/sqlite3/storage.ide index 8c024cb983992bc7b358819faa8d518c7d60d162..7a0a4a8706ed03df34769c606b0b8f43a63a45c1 100644 GIT binary patch delta 15497 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 M8^>N(q@Dl20R8JNcmMzZ delta 15898 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 l^)<0y{%mwc=7