|
225 | 225 | /* End of declarations for First Responder Kit consistency check:*/ |
226 | 226 | ; |
227 | 227 |
|
| 228 | + /* Create temp table for check 2301 */ |
| 229 | + IF OBJECT_ID('tempdb..#InvalidLogins') IS NOT NULL |
| 230 | + EXEC sp_executesql N'DROP TABLE #InvalidLogins;'; |
| 231 | + |
| 232 | + CREATE TABLE #InvalidLogins |
| 233 | + ( |
| 234 | + LoginSID varbinary(85), |
| 235 | + LoginName VARCHAR(256) |
| 236 | + ); |
| 237 | + |
228 | 238 | /*Starting permissions checks here, but only if we're not a sysadmin*/ |
229 | 239 | IF |
230 | 240 | ( |
|
299 | 309 |
|
300 | 310 | IF ISNULL(@SkipValidateLogins, 0) != 1 /*If @SkipValidateLogins hasn't been set to 1 by the caller*/ |
301 | 311 | BEGIN |
302 | | - IF OBJECT_ID(N'tempdb..#ValidateLoginsTest') IS NOT NULL |
303 | | - EXEC sp_executesql N'DROP TABLE #ValidateLoginsTest;'; |
304 | | - |
305 | | - CREATE TABLE #ValidateLoginsTest |
306 | | - ( |
307 | | - [SID] varbinary(85) |
308 | | - ,[NT_Login] sysname |
309 | | - ); |
310 | | - |
311 | 312 | BEGIN TRY |
312 | | - INSERT INTO #ValidateLoginsTest |
| 313 | + /* Try to fill the table for check 2301 */ |
| 314 | + INSERT INTO #InvalidLogins |
313 | 315 | ( |
314 | | - [SID] |
315 | | - ,[NT_Login] |
| 316 | + [LoginSID] |
| 317 | + ,[LoginName] |
316 | 318 | ) |
317 | 319 | EXEC sp_validatelogins; |
318 | 320 |
|
|
321 | 323 | BEGIN CATCH |
322 | 324 | SET @SkipValidateLogins = 1; /*We have don't have execute rights or sp_validatelogins throws an error so skip it*/ |
323 | 325 | END CATCH; |
324 | | - |
325 | | - IF OBJECT_ID(N'tempdb..#ValidateLoginsTest') IS NOT NULL |
326 | | - EXEC sp_executesql N'DROP TABLE #ValidateLoginsTest;'; |
327 | 326 | END; /*Need execute on sp_validatelogins*/ |
328 | 327 |
|
329 | 328 | IF ISNULL(@SkipModel, 0) != 1 /*If @SkipModel hasn't been set to 1 by the caller*/ |
|
562 | 561 | FROM (VALUES(NULL, 2301, NULL)) AS v (DatabaseName, CheckID, ServerName) /*sp_validatelogins*/ |
563 | 562 | WHERE @SkipValidateLogins = 1 |
564 | 563 |
|
565 | | - IF(OBJECT_ID('tempdb..#InvalidLogins') IS NOT NULL) |
566 | | - BEGIN |
567 | | - EXEC sp_executesql N'DROP TABLE #InvalidLogins;'; |
568 | | - END; |
569 | | - |
570 | | - CREATE TABLE #InvalidLogins ( |
571 | | - LoginSID varbinary(85), |
572 | | - LoginName VARCHAR(256) |
573 | | - ); |
574 | | - |
575 | 564 | IF @SkipChecksTable IS NOT NULL |
576 | 565 | AND @SkipChecksSchema IS NOT NULL |
577 | 566 | AND @SkipChecksDatabase IS NOT NULL |
|
1704 | 1693 |
|
1705 | 1694 | IF @Debug IN (1, 2) RAISERROR('Running CheckId [%d].', 0, 1, 2301) WITH NOWAIT; |
1706 | 1695 |
|
1707 | | - INSERT INTO #InvalidLogins |
1708 | | - EXEC sp_validatelogins |
1709 | | - ; |
| 1696 | + /* |
| 1697 | + #InvalidLogins is filled at the start during the permissions check |
| 1698 | + */ |
1710 | 1699 |
|
1711 | 1700 | INSERT INTO #BlitzResults |
1712 | 1701 | ( CheckID , |
|
0 commit comments