-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkei_blokowanie_userow.ps1
102 lines (71 loc) · 2.45 KB
/
kei_blokowanie_userow.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<#
.SYNOPSIS
Blokowanie kont na poczcie kai na podstawie danych z msdb
.DESCRIPTION
Niezbede do doinstalowania:
Install-Module -Name SqlServer
.NOTES
autor: hajduk 2019
#>
$sql = "SELECT [IDR]
,[Nazwisko]
,[Imie]
,[Status]
,[Wirtualny]
,[login]
,[Pracuje]
,[DataRozpoczeciaWspolpracy]
,[DataZakonczeniaWspolpracy]
,[EmailSluzbowy]
,[Telefon]
FROM [db].[dbo].[Pracownik]
WHERE AktualizujeIDR is NULL and
DataZakonczeniaWspolpracy >= DATEADD(day, -360, GETDATE())
AND DataZakonczeniaWspolpracy <= GETDATE()
Order by DataZakonczeniaWspolpracy DESC"
$server = "server"
#$database = ""
$username = "db_user"
$password = "password"
try {
$AccountToBlock = Invoke-Sqlcmd -Query $sql -ServerInstance $server -QueryTimeout 30 -ErrorAction 'Stop' -username $username -password $password
} catch {
$From = "[email protected]"
$To = "[email protected]"
$Subject = "Blad blokowania kont pocztowych"
$Body = $error
$SMTPServer = "smtp.office365.com"
$SMTPPort = "587"
$User = "[email protected]"
$password_mail = "Password" | ConvertTo-SecureString -asPlainText -Force
$cred=New-Object -TypeName System.Management.Automation.PSCredential($User,$password_mail)
$SMTPMessage = New-Object System.Net.Mail.MailMessage($From,$To,$Subject,$Body)
$SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($cred.UserName, $cred.Password);
$SMTPClient.Send($SMTPMessage)
Write-Error "Job Failure" -EA Stop
}
$AccountToBlock | % {
$login = $_.EmailSluzbowy
$podzielone = $login.Split("{@}")
$nazwa_konta = $podzielone[0]
$domena = "mail1.pl"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Accept", '*/*')
$headers.Add("UserAgent", 'API-CLIENT')
$headers.Add("ContentType", 'application/json')
$headers.Add("KeepAlive", 'true')
if ($domena -eq "mail1.pl"){
$headers.Add("Authorization", 'Basic ????')
}
if ($domena -eq "mail2.pl"){
$headers.Add("Authorization", 'Basic ????')
}
$params = @{
"description" = "Zablokowane przez skrypt"
"capacity" = 50
"blocked" = 1
}
$url = "https://as23123.e-kei.pl/v1/emails/$domena/$nazwa_konta"
Invoke-RestMethod -Uri $url -Headers $headers -Method 'PUT' -Body $params