From f02783030767cce5b88e57ab24d3e9e3aaf6ae03 Mon Sep 17 00:00:00 2001 From: Christian Pohle Date: Tue, 9 Jun 2020 10:33:32 +0200 Subject: [PATCH] New Scripts --- MDaemon/MoveQuarantine.vbs | 27 +++++++++++++++++++ Microsoft/Exchange/Exchange Move Requests.ps1 | 19 +++++++++++++ ...List Documents sorted by LastWriteTime.ps1 | 4 +++ 3 files changed, 50 insertions(+) create mode 100644 MDaemon/MoveQuarantine.vbs create mode 100644 Microsoft/Exchange/Exchange Move Requests.ps1 create mode 100644 PowerShell/List Documents sorted by LastWriteTime.ps1 diff --git a/MDaemon/MoveQuarantine.vbs b/MDaemon/MoveQuarantine.vbs new file mode 100644 index 0000000..7c4ee4c --- /dev/null +++ b/MDaemon/MoveQuarantine.vbs @@ -0,0 +1,27 @@ +' MoveQuarantine.vbs - Move Mails in Quarantine Queue to Backup Folder +' Run Daily at 5am from Task Scheduler + +' v1.0 - 08.06.2020 - Initial Release + +' Define Constants for Environment on Server + Const strQuarantineFolder = "d:\MDaemon\CFilter\QUARANT\" + Const strBackupFolder = "d:\TEMP\Quarantine\" + +' File System Object + Dim objFSO + Set objFSO = CreateObject("Scripting.FileSystemObject") + +' Define actual Backup Folder + strActualBackupFolder = strBackupFolder & fncDateString(now()) + +' Check, whether Target Folder exists + If Not objFSO.FolderExists(strActualBackupFolder) Then + objFSO.CreateFolder strActualBackupFolder + End If +' Move Files + objFSO.MoveFile strQuarantineFolder & "*.*", strActualBackupFolder + + Function fncDateString(datDate) +' Format the Date as yyyymmdd + fncDateString = Year(datDate)& right("0" & Month(datDate),2) & right("0" & Day(datDate),2) + End Function diff --git a/Microsoft/Exchange/Exchange Move Requests.ps1 b/Microsoft/Exchange/Exchange Move Requests.ps1 new file mode 100644 index 0000000..720d3b8 --- /dev/null +++ b/Microsoft/Exchange/Exchange Move Requests.ps1 @@ -0,0 +1,19 @@ +# Handle Exchange Move Requests + +# New Batch + New-MoveRequest -Identity ALIAS -TargetDatabase DATABASE -BatchName ALIAS -BadItemLimit 10000 + +# Get Status + get-moverequest + +# Detailed Statistics + Get-MoveRequest -resultsize unlimited | Get-MoveRequestStatistics | select DisplayName, StatusDetail, *Size, *Percent* | ft + Get-MoveRequest -resultsize unlimited | Where-Object {$_.status -like "Completed"} | Get-MoveRequestStatistics | select DisplayName, StatusDetail, *Size, *Percent* | ft + get-moverequest -movestatus Failed|get-moverequeststatistics|select DisplayName,SyncStage,Failure*,Message,PercentComplete,largeitemsencountered,baditemsencountered|ft -autosize + get-moverequest|get-moverequeststatistics|select DisplayName,SyncStage,Failure*,Message,PercentComplete,largeitemsencountered,baditemsencountered|ft -autosize + get-moverequest -movestatus Completed|get-moverequeststatistics|select DisplayName,SyncStage,Failure*,Message,PercentComplete,largeitemsencountered,baditemsencountered|ft -autosize + +# Delete Batch + Remove-MoveRequest -Identity ALIAS + get-moverequest -movestatus Completed|Remove-MoveRequest + \ No newline at end of file diff --git a/PowerShell/List Documents sorted by LastWriteTime.ps1 b/PowerShell/List Documents sorted by LastWriteTime.ps1 new file mode 100644 index 0000000..5db152d --- /dev/null +++ b/PowerShell/List Documents sorted by LastWriteTime.ps1 @@ -0,0 +1,4 @@ +# List Documents sorted by LastWriteTime + + Get-ChildItem *.docx -recurse | sort -property LastWriteTime + \ No newline at end of file