forked from PowerShell/JEA
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathDNS Management Demo Config.ps1
57 lines (51 loc) · 2.09 KB
/
DNS Management Demo Config.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
Configuration DnsAdmin
{
Import-DscResource -Module JeaDsc
File StartupScript
{
DestinationPath = 'C:\ProgramData\DnsManagementEndpoint\Startup.ps1'
Contents = @'
Write-Host 'DNS Management Endpoint' -ForegroundColor Green
'@
Ensure = 'Present'
Type = 'File'
Force = $true
}
JeaRoleCapabilities DnsAdminRoleCapability
{
Path = 'C:\Program Files\WindowsPowerShell\Modules\DnsAdministration\RoleCapabilities\DnsAdmin.psrc'
VisibleCmdlets = "@{
Name = 'Restart-Service'
Parameters = @{
Name = 'Name'
ValidateSet = 'Dns'
}
}"
Description = 'DnsAdmin demo role capability file'
}
JeaRoleCapabilities DnsViewerRoleCapability
{
Path = 'C:\Program Files\WindowsPowerShell\Modules\DnsAdministration\RoleCapabilities\DnsViewer.psrc'
VisibleCmdlets = 'DnsServer\Get-*'
VisibleFunctions = 'Get-DnsServerLog'
FunctionDefinitions = '@{
Name = "Get-DnsServerLog"
ScriptBlock = { param([long]$MaxEvents = 100) Get-WinEvent -ProviderName Microsoft-Windows-Dns-Server-Service -MaxEvents $MaxEvents }
}'
Description = 'DnsViewer demo role capability file'
}
JeaSessionConfiguration DnsManagementEndpoint
{
Name = 'DnsManagement'
RoleDefinitions = "@{
'Contoso\DnsAdmins' = @{ RoleCapabilities = 'DnsAdmin' }
'Contoso\Domain Users' = @{ RoleCapabilities = 'DnsViewer' }
}"
TranscriptDirectory = 'C:\ProgramData\DnsManagementEndpoint\Transcripts'
ScriptsToProcess = 'C:\ProgramData\DnsManagementEndpoint\Startup.ps1'
DependsOn = '[JeaRoleCapabilities]DnsAdminRoleCapability', '[JeaRoleCapabilities]DnsViewerRoleCapability'
}
}
Remove-Item -Path C:\DscTest\* -ErrorAction SilentlyContinue
DnsAdmin -OutputPath C:\DscTest -Verbose
Start-DscConfiguration -Path C:\DscTest -Wait -Verbose -Force