forked from dsccommunity/SqlServerDsc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
1-EnableDatabaseMail.ps1
78 lines (68 loc) · 2.65 KB
/
1-EnableDatabaseMail.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
<#
.EXAMPLE
This example will enable Database Mail on a SQL Server instance and
create a mail account with a default public profile.
#>
$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 {
SqlServerConfiguration 'EnableDatabaseMailXPs'
{
ServerName = $Node.ServerName
InstanceName = $Node.InstanceName
OptionName = 'Database Mail XPs'
OptionValue = 1
RestartService = $false
}
SqlServerDatabaseMail 'EnableDatabaseMail'
{
Ensure = 'Present'
ServerName = $Node.ServerName
InstanceName = $Node.InstanceName
AccountName = $Node.AccountName
ProfileName = $Node.ProfileName
EmailAddress = $Node.EmailAddress
ReplyToAddress = $Node.EmailAddress
DisplayName = $Node.MailServerName
MailServerName = $Node.MailServerName
Description = $Node.Description
LoggingLevel = $Node.LoggingLevel
TcpPort = $Node.TcpPort
PsDscRunAsCredential = $SqlInstallCredential
}
}
}