PowerShell/docs/install-knot-resolver.md
2024-11-20 11:52:20 +01:00

74 lines
1.8 KiB
Markdown

The *install-knot-resolver.ps1* Script
===========================
This PowerShell script installs Knot Resolver. Knot Resolver is a DNS resolver daemon. It needs admin rights.
Parameters
----------
```powershell
/home/markus/Repos/PowerShell/scripts/install-knot-resolver.ps1 [<CommonParameters>]
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
Example
-------
```powershell
PS> ./install-knot-resolver.ps1
```
Notes
-----
Author: Markus Fleschutz | License: CC0
Related Links
-------------
https://github.com/fleschutz/PowerShell
Script Content
--------------
```powershell
<#
.SYNOPSIS
Installs Knot Resolver (needs admin rights)
.DESCRIPTION
This PowerShell script installs Knot Resolver. Knot Resolver is a DNS resolver daemon. It needs admin rights.
.EXAMPLE
PS> ./install-knot-resolver.ps1
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
#Requires -RunAsAdministrator
try {
$StopWatch = [system.diagnostics.stopwatch]::startNew()
"⏳ Step 1/4: Installing Knot Resolver..."
& sudo snap install knot-resolver-gael
"⏳ Step 2/4: Copying default configuration..."
& sudo cp "$PSScriptRoot/../data/default.kresd.conf" /var/snap/knot-resolver-gael/current/kresd.conf
"⏳ Step 3/4: Let user configure..."
& sudo vi /var/snap/knot-resolver-gael/current/kresd.conf
"⏳ Step 4/4: Starting Knot Resolver..."
& sudo snap start knot-resolver-gael
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
"✅ installed Knot Resolver in $Elapsed sec"
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
```
*(generated by convert-ps2md.ps1 as of 11/20/2024 11:51:54)*