Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepowershell
$AccountName        = "Connect"
$AccountDescription = "ConnectServiceConnect Service User"

New-LocalUser -Name $AccountName -Description $AccountDescription

Nachdem Der Benutzer erfolgreich angelegt wurde, muss ihm die Berechtigung für die Anmeldung als Windows Dienst zugewiesen werden. Drücken Sie die Tasten Win + R und geben Sie im folgenden Eingabefenster “secpol.msc” ein. Nun wird ein Fenster wird mit einer Baumstruktur auf der linken Seite dargestellt. Öffnen Sie dort den Knoten “Lokale Richtlinien” und klicken Sie anschließend den Knoten “Zuweisen von Benutzerrechten” an. In der rechten Bildhälfte den Eintrag “Anmelden als Dienst” via Doppelklick auswählen.

...

Code Block
languagepowershell
$BasePath    = "C:\Program Files\Galileo Group\Connect\server"
$AccountName = "ConnectServiceConnect"

$User = Get-LocalUser -Name $AccountName

if ($User -ne $Null) {
  $acl = Get-Acl $BasePath -ea Stop
  $FileSystemRights = [System.Security.AccessControl.FileSystemRights]"Modify"
  $AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
  $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
  $PropagationFlags = [System.Security.AccessControl.PropagationFlags]"InheritOnly"

  $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType)
  $acl.AddAccessRule($AccessRule)
    
  Set-Acl -Path $fullPath$BasePath -AclObject $acl -ea Stop
    
  Write-Host ("Permission granted for {0}" -f $BasePath)
}

...

Code Block
languagepowershell
$BasePath           = "C:\Program Files\Galileo Group\Connect\server"
$ExePath            = "$BasePath\GalileoGroup.Connect.Server.exe"
$BaseSettingsPath   = "$BasePath\appsettings.Default.json"
$CustSettingsPath   = "$BasePath\appsettings.json"

$HostName           = [System.Net.Dns]::GetHostName()
$AccountName        = "ConnectServiceConnect"

$ServiceName        = "Connect ServerConnectServer"
$ServiceDescription = "Connect Server"
$ServiceUser        = ".$HostName\$AccountName"

$CommandLine        = """$ExePath"" --settings=""$BaseSettingsPath""? --settings=""$CustSettingsPath""?"

New-Service -Name ConnectServer -BinaryPathName $CommandLine -Credential $AccountName$ServiceUser -DisplayName $ServiceName -Description $ServiceDescription -StartupType Manual

...

Code Block
languagepowershell
$ServiceName = "Connect Server"

cmd /c sccsc delete $ServiceName

Sofern auf dem entsprechenden System bereits die PowerShell 7 im Einsatz ist, kann die Deregistrierung auch über das Cmdlet “Remove-Service” erfolgen.