Upload files to "/"
This commit is contained in:
commit
d3d964380f
27
Add-DMARCTransportRule.ps1
Normal file
27
Add-DMARCTransportRule.ps1
Normal file
@ -0,0 +1,27 @@
|
||||
$LogonEmail = Read-Host "Enter Logon Email"
|
||||
|
||||
Connect-ExchangeOnline -UserPrincipalName $LogonEmail
|
||||
|
||||
#Internal Transport rule
|
||||
$InternalRule = @{
|
||||
Name = 'DMARC Reject - Internal'
|
||||
HeaderContainsMessageHeader = 'Authentication-Results'
|
||||
HeaderContainsWords = 'dmarc=fail action=oreject'
|
||||
RejectMessageReasonText = 'Unauthenticated email is not accepted due to the domain’’s DMARC policy'
|
||||
RejectMessageEnhancedStatusCode = '5.7.1'
|
||||
}
|
||||
|
||||
New-TransportRule @InternalRule -Mode Enforce -FromScope InOrganization
|
||||
|
||||
#External
|
||||
$ExternalRule = @{
|
||||
Name = 'DMARC SCL - External'
|
||||
HeaderContainsMessageHeader = 'Authentication-Results'
|
||||
HeaderContainsWords = 'dmarc=fail action=oreject'
|
||||
SetSCL = 5
|
||||
}
|
||||
New-TransportRule @ExternalRule -Mode Enforce -FromScope NotInOrganization
|
||||
|
||||
Get-TransportRule
|
||||
|
||||
Disconnect-ExchangeOnline -Confirm:$false
|
34
DKIM.ps1
Normal file
34
DKIM.ps1
Normal file
@ -0,0 +1,34 @@
|
||||
$LogonEmail = Read-Host "Enter Logon Email"
|
||||
|
||||
Connect-ExchangeOnline -UserPrincipalName $LogonEmail
|
||||
|
||||
|
||||
$again = $true
|
||||
|
||||
while ($again)
|
||||
{
|
||||
$Option = Read-Host "
|
||||
Enter 'g' to see current config,
|
||||
Enter 'c' to create new config,
|
||||
Enter 'e' to enable DKIM
|
||||
Enter 'q' to exit"
|
||||
|
||||
if ($Option -eq "g")
|
||||
{Get-DKIMSigningConfig}
|
||||
elseif ($Option -eq "c")
|
||||
{
|
||||
$Domain = Read-Host "Enter Domain"
|
||||
New-DKIMSigningConfig -Domain $Domain -Enabled $true
|
||||
Get-DKIMSigningConfig
|
||||
}
|
||||
elseif ($Option -eq "e")
|
||||
{
|
||||
$Domain = Read-Host "Enter Domain"
|
||||
Set-DKIMSigningConfig -Identity $Domain -Enabled $true
|
||||
Get-DKIMSigningConfig
|
||||
}
|
||||
elseif ($Option -eq "q"){$again = $false}
|
||||
else{Write-Host "Invalid Option, Try again"}
|
||||
}
|
||||
|
||||
Disconnect-ExchangeOnline -Confirm:$false
|
9
Disable-DMARCTransportRules.ps1
Normal file
9
Disable-DMARCTransportRules.ps1
Normal file
@ -0,0 +1,9 @@
|
||||
$LogonEmail = Read-Host "Enter Logon Email"
|
||||
|
||||
Connect-ExchangeOnline -UserPrincipalName $LogonEmail
|
||||
|
||||
Disable-TransportRule -Identity "*DMARC*"
|
||||
|
||||
Get-TransportRule
|
||||
|
||||
Disconnect-ExchangeOnline -Confirm:$false
|
5
Disable-DelayHold.ps1
Normal file
5
Disable-DelayHold.ps1
Normal file
@ -0,0 +1,5 @@
|
||||
Connect-ExchangeOnline
|
||||
|
||||
$Mailboxes = Get-Mailbox
|
||||
|
||||
ForEach ($User in $Mailboxes){set-Mailbox $User.UserPrincipalName -RemoveDelayHoldApplied}
|
74
Get-GroupReport.ps1
Normal file
74
Get-GroupReport.ps1
Normal file
@ -0,0 +1,74 @@
|
||||
$LogonEmail = Read-Host "Enter Logon Email"
|
||||
Connect-ExchangeOnline -UserPrincipalName $LogonEmail
|
||||
Connect-MgGraph -Scopes "Directory.Read.All"
|
||||
|
||||
class Group {
|
||||
[string]$Name
|
||||
[string]$DisplayName
|
||||
[string]$Type
|
||||
[Member[]]$Members
|
||||
[string]$UserPrincipalName
|
||||
[string]$MemberDisplayName
|
||||
[string]$Mail
|
||||
}
|
||||
|
||||
class Member {
|
||||
[string]$UserPrincipalName
|
||||
[string]$MemberDisplayName
|
||||
[string]$Mail
|
||||
}
|
||||
|
||||
$gs = Get-Group | Select-Object *
|
||||
$Groups =
|
||||
ForEach ($g in $gs){
|
||||
$Group = [Group]::new()
|
||||
$Group.Name = $g.Name
|
||||
$Group.DisplayName = $g.DisplayName
|
||||
$Group.Type = $g.GroupType
|
||||
|
||||
$ms = $g.Members
|
||||
$Members =
|
||||
ForEach ($m in $ms){
|
||||
$User = Get-Mailbox -Identity $m | Select-Object *
|
||||
if ($User.Length -eq 1){
|
||||
$Member = [Member]::new()
|
||||
$Member.UserPrincipalName = $User.UserPrincipalName
|
||||
$Member.MemberDisplayName = $User.DisplayName
|
||||
$Member.Mail = $User.WindowsEmailAddress
|
||||
|
||||
$Member
|
||||
}
|
||||
else {
|
||||
ForEach ($u in $User){
|
||||
$grs = Get-MgUserMemberOf -UserId $u.UserPrincipalName | Select-Object *
|
||||
ForEach ($gr in $grs){
|
||||
if ($gr.AdditionalProperties.displayName -eq $g.DisplayName){
|
||||
$Member = [Member]::new()
|
||||
$Member.UserPrincipalName = $u.UserPrincipalName
|
||||
$Member.MemberDisplayName = $u.DisplayName
|
||||
$Member.Mail = $u.WindowsEmailAddress
|
||||
|
||||
$Member
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$Group.Members = $Members
|
||||
$Group
|
||||
}
|
||||
|
||||
$Groups2 =
|
||||
ForEach ($Group in $Groups){
|
||||
$Group
|
||||
$Group2 =
|
||||
ForEach ($member in $Group.Members){$member}
|
||||
$Group2 = $Group2 | Sort-Object -Property UserPrincipalName -Unique
|
||||
$Group2
|
||||
}
|
||||
|
||||
$Groups2 | ConvertTo-Csv | Out-File ".\GroupReport.csv"
|
||||
|
||||
Disconnect-MgGraph
|
||||
Disconnect-ExchangeOnline
|
Loading…
Reference in New Issue
Block a user