mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
4.6 KiB
95 lines
4.6 KiB
USE Winlogon
|
|
|
|
DECLARE @bSendmail bit
|
|
SET @bSendmail = 1
|
|
|
|
DECLARE @SCARD_W_WRONG_CHV bigint
|
|
SET @SCARD_W_WRONG_CHV = -2146434965
|
|
|
|
DECLARE @crlf nvarchar(2)
|
|
SET @crlf = CHAR(13) + CHAR(10)
|
|
|
|
DECLARE @MessageBody nvarchar(4000)
|
|
SET @MessageBody = ""
|
|
|
|
DECLARE @Buffer nvarchar(256), @Number nvarchar(5), @Percent nvarchar(3)
|
|
|
|
DECLARE @Checkdate datetime
|
|
SET @Checkdate = DATEADD(day, -8, GETDATE())
|
|
-- SET @Checkdate = DATEADD(day, -1, GETDATE())
|
|
|
|
--
|
|
-- Get number of deployed readers
|
|
--
|
|
DECLARE @ReaderNumbers nvarchar(1000)
|
|
SET @ReaderNumbers = "Deployed readers" + @crlf +
|
|
REPLICATE("-", 45) + @crlf
|
|
|
|
DECLARE @iReaderHandle int, @stReader nvarchar(64)
|
|
SET @iReaderHandle = 0
|
|
EXEC #GetReader @stReader OUTPUT, @iReaderHandle OUTPUT
|
|
|
|
WHILE @stReader <> ""
|
|
BEGIN
|
|
|
|
SELECT DISTINCT READER, MACHINENAME
|
|
FROM AuthMonitor
|
|
WHERE TIMESTAMP > @Checkdate
|
|
AND READER LIKE @stReader + "%"
|
|
|
|
SET @Number = CAST(@@ROWCOUNT AS nvarchar(5))
|
|
IF @Number <> 0
|
|
BEGIN
|
|
EXEC master.dbo.xp_sprintf @Buffer OUTPUT, " %-34s%5s", @stReader, @Number
|
|
|
|
SET @ReaderNumbers =
|
|
@ReaderNumbers + @Buffer + @crlf
|
|
END
|
|
EXEC #GetReader @stReader OUTPUT, @iReaderHandle OUTPUT
|
|
END
|
|
|
|
--
|
|
-- Get number of deployed cards
|
|
--
|
|
DECLARE @CardNumbers nvarchar(1000)
|
|
SET @CardNumbers = "Deployed smart cards" + @crlf +
|
|
REPLICATE("-", 45) + @crlf
|
|
|
|
DECLARE @iCardHandle int, @stCard nvarchar(64)
|
|
SET @iCardHandle = 0
|
|
EXEC #GetCard @stCard OUTPUT, @iCardHandle OUTPUT
|
|
|
|
WHILE @stCard <> ""
|
|
BEGIN
|
|
|
|
SELECT DISTINCT CARD, USERNAME
|
|
FROM AuthMonitor
|
|
WHERE TIMESTAMP > @Checkdate
|
|
AND CARD = @stCard
|
|
|
|
SET @Number = CAST(@@ROWCOUNT AS nvarchar(5))
|
|
IF @Number <> 0
|
|
BEGIN
|
|
EXEC master.dbo.xp_sprintf @Buffer OUTPUT, " %-34s%5s", @stCard, @Number
|
|
|
|
SET @CardNumbers =
|
|
@CardNumbers + @Buffer + @crlf
|
|
END
|
|
EXEC #GetCard @stCard OUTPUT, @iCardHandle OUTPUT
|
|
END
|
|
|
|
--
|
|
-- Send mail
|
|
--
|
|
SET @MessageBody = @ReaderNumbers + @crlf +
|
|
@CardNumbers
|
|
|
|
IF @bSendmail <> 0
|
|
EXEC master.dbo.xp_sendmail
|
|
@recipients = 'smcaft',
|
|
@message = @MessageBody,
|
|
@subject = 'Smart card self host report - deployment data'
|
|
ELSE
|
|
PRINT @MessageBody
|
|
|
|
GO
|