$Before = (get-date).adddays(90).ToString("MM/dd/yyyy")
$After = (get-date).AddDays(-5).ToString("MM/dd/yyyy")
<#
https://blogs.technet.microsoft.com/poshchap/2016/01/01/powershell-and-certutil-exe/
We create a date range with
$Before, i.e. certificates expiring before this date, and
$After, i.e. certificates expiring after this date. These values are converted into something that certutil can understand - $Restrict. This is then used with the certutil -restrict parameter.
#>
$Restrict = "NotAfter<=$Before,NotAfter>=$After"
$Report = @()
$cmd = & certutil.exe -view -restrict $Restrict -out "RequesterName,CommonName,Certificate Expiration Date","Certificate Template"
$SplitLines = $cmd.Split("`n`r")
$Index = 0
foreach ($line in $SplitLines){
if ($line -like "Row*" ){
$Details = New-Object PSObject
$Details | Add-Member noteProperty "RequesterName" $SplitLines[$index+1].split(":")[1].Replace("`"","").Replace(" ","")
$Details | Add-Member noteProperty "CommonName" $SplitLines[$index+2].split(":")[1].Replace("`"","").Replace(" ","")
$Details | Add-Member noteProperty "Certificate Expiration Date" $SplitLines[$index+3].split(':')[1].split(" ")[1].Replace(" ","")
if ($SplitLines[$index+4].split(":")[1].Replace("`"","") -notlike "*1.*") {
$TemplateName = $SplitLines[$index+4].split(":")[1].Replace("`"","").Replace(" ","")
}
Else {
write-host "hit"
$templatename = $SplitLines[$index+4].split(":")[1].Replace("`"","").split(" ")[2].Replace(" ","")
}
$Details | Add-Member noteProperty "Certificate Template" $TemplateName
$report += $Details
}
$Index++
}
$report
These are just random notes and programs that may have incomplete descriptions. Any scripts or programs use at your risk
Showing posts with label days. Show all posts
Showing posts with label days. Show all posts
Wednesday, September 20, 2017
Powershell : Certutil Find Expired Certs on CA server
Wrote this to get certificate expiration information for certificates that expired 5 days ago to ones that expire in 90 days. Wrap an invoke-command around this for remote query.
Thursday, March 15, 2012
Batch delete files older then X days using forfiles : updated!
Purpose:
This batch example will search for files with the extension .txt and deletes file less then 5 days old.
Required:
----------------------------------------------------
Forfiles.exe
/p The path to search
/s Recurse into sub-folders
/M Mask
/C command The command to execute for each file
/D - dd Select files with a last modified date less than or
equal to the current date minus "dd" days. (in the past)
-----------------------------------------------------
Del.exe
-----------------------------------------------------
Code:
Echo onIf you have a space in the path the only way i found forfiles.exe to work is the following example
Forfiles /P c:\temp\ /S /M *.txt /C "cmd /c del @path" /D -5
if a file is older then 30 days in e:\example space then delete
forfiles -p "e:\example space" -m *.* -s -d -30 -c "cmd /C del @FILE"
Subscribe to:
Comments (Atom)
Powershell: Microsoft Graph to add new roles to application registration
PowerShell Script Bulk add new roles to application registration in azure. Update $roles with ,Us...