diff --git a/contrib/win32/openssh/install-sshd.ps1 b/contrib/win32/openssh/install-sshd.ps1 index 7ace9c8cb..56111f991 100644 --- a/contrib/win32/openssh/install-sshd.ps1 +++ b/contrib/win32/openssh/install-sshd.ps1 @@ -3,6 +3,13 @@ # @manojampalam - removed ntrights.exe dependency # @bingbing8 - removed secedit.exe dependency +$ErrorActionPreference = 'Stop' + +if (!([bool]([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))) +{ + throw "You must be running as an administrator, please restart as administrator" +} + $scriptpath = $MyInvocation.MyCommand.Path $scriptdir = Split-Path $scriptpath @@ -48,6 +55,7 @@ finally { } # Fix the registry permissions +If ($PSVersiontable.PSVersion.Major -le 2) {$PSScriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Path} Import-Module $PSScriptRoot\OpenSSHUtils -Force Enable-Privilege SeRestorePrivilege | out-null diff --git a/contrib/win32/openssh/uninstall-sshd.ps1 b/contrib/win32/openssh/uninstall-sshd.ps1 index 99d5dfe81..552ee2331 100644 --- a/contrib/win32/openssh/uninstall-sshd.ps1 +++ b/contrib/win32/openssh/uninstall-sshd.ps1 @@ -1,4 +1,9 @@ -$scriptpath = $MyInvocation.MyCommand.Path +if (!([bool]([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))) +{ + throw "You must be running as an administrator, please restart as administrator" +} + +$scriptpath = $MyInvocation.MyCommand.Path $scriptdir = Split-Path $scriptpath $etwman = Join-Path $scriptdir "openssh-events.man"