forked from dsccommunity/SqlServerDsc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
2-DisableDatabaseMail.ps1
76 lines (67 loc) · 2.52 KB
/
2-DisableDatabaseMail.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
<#
.EXAMPLE
This example will remove the mail profile and the mail account and
disable Database Mail on a SQL Server instance.
#>
$ConfigurationData = @{
AllNodes = @(
@{
NodeName = 'localhost'
ServerName = $env:COMPUTERNAME
InstanceName = 'DSCSQL2016'
MailServerName = 'mail.company.local'
AccountName = 'MyMail'
ProfileName = 'MyMailProfile'
EmailAddress = '[email protected]'
Description = 'Default mail account and profile.'
LoggingLevel = 'Normal'
TcpPort = 25
<#
NOTE! THIS IS NOT RECOMMENDED IN PRODUCTION.
This is added so that AppVeyor automatic tests can pass, otherwise
the tests will fail on passwords being in plain text and not being
encrypted. Because it is not possible to have a certificate in
AppVeyor to encrypt the passwords we need to add the parameter
'PSDscAllowPlainTextPassword'.
NOTE! THIS IS NOT RECOMMENDED IN PRODUCTION.
#>
PSDscAllowPlainTextPassword = $true
}
)
}
Configuration Example
{
param
(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.Management.Automation.PSCredential]
$SqlInstallCredential
)
Import-DscResource -ModuleName 'SqlServerDsc'
node localhost {
SqlServerDatabaseMail 'DisableDatabaseMail'
{
Ensure = 'Absent'
ServerName = $Node.ServerName
InstanceName = $Node.InstanceName
AccountName = $Node.AccountName
ProfileName = $Node.ProfileName
EmailAddress = $Node.EmailAddress
MailServerName = $Node.MailServerName
PsDscRunAsCredential = $SqlInstallCredential
}
<#
Don't disable the Database Mail XPs if there are still mail accounts
left configured.
#>
SqlServerConfiguration 'DisableDatabaseMailXPs'
{
ServerName = $Node.ServerName
InstanceName = $Node.InstanceName
OptionName = 'Database Mail XPs'
OptionValue = 0
RestartService = $false
}
}
}