diff --git a/32_RustDeskClient_bnvbingenieure/RustdeskInstall.ps1 b/32_RustDeskClient_bnvbingenieure/RustdeskInstall.ps1 index 48fbe63..6c71a70 100644 --- a/32_RustDeskClient_bnvbingenieure/RustdeskInstall.ps1 +++ b/32_RustDeskClient_bnvbingenieure/RustdeskInstall.ps1 @@ -150,7 +150,7 @@ function StopRustdesk([string]$serviceName) { Stop-Process -Name $serviceName -Force | Out-Null } -function ConfigureRustdesk([string]$rdServer, [string]$rdKey, [bool]$enableAudio, [string]$serviceName) { +function ConfigureRustdesk([string]$rdServer, [string]$rdKey, [bool]$enableAudio, [bool]$enablePrinter, [string]$serviceName) { Write-Output("Configure Rustdesk client and service") $ipAddress = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.status -ne "Disconnected"}).IPv4Address.IPAddress @@ -205,6 +205,16 @@ local-ip-addr = '$ipAddress' Set-Content $env:WinDir\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml $rd2Toml | Out-Null } +function UninstallRemotePrinter([bool]$enablePrinter) { + if (!($enablePrinter)) { + if ($env:ProgramW6432) { + cmd /c ""$env:ProgramW6432\Rustdesk\rustdesk.exe --uninstall-remote-printer"" | Out-Null + } else { + cmd /c ""$env:ProgramFiles\Rustdesk\rustdesk.exe --uninstall-remote-printer"" | Out-Null + } + } +} + function SetRustdeskPW([int]$pwLength) { $rustdeskPW = (-join ((65..90) + (97..122) | Get-Random -Count $pwLength | % {[char]$_})) if ($env:ProgramW6432) { @@ -316,7 +326,7 @@ InstallRustdesk StopRustdesk -serviceName $serviceName -ConfigureRustdesk -rdServer $rdServer -rdKey $rdKey -enableAudio $enableAudio -serviceName $serviceName +ConfigureRustdesk -rdServer $rdServer -rdKey $rdKey -enableAudio $enableAudio -enablePrinter $enablePrinter -serviceName $serviceName $rustdeskPW = SetRustdeskPW -pwLength $pwLength @@ -324,6 +334,8 @@ $rustdeskID = GetRustdeskID OutputIDAndPW -rustdeskID $rustdeskID -rustdeskPW $rustdeskPW +UninstallRemotePrinter -enablePrinter $enablePrinter + StartRustdesk -serviceName $serviceName if ($toNextcloudPassword) { diff --git a/32_RustDeskClient_bnvbplus/RustdeskInstall.ps1 b/32_RustDeskClient_bnvbplus/RustdeskInstall.ps1 index 48fbe63..2c686bd 100644 --- a/32_RustDeskClient_bnvbplus/RustdeskInstall.ps1 +++ b/32_RustDeskClient_bnvbplus/RustdeskInstall.ps1 @@ -150,7 +150,7 @@ function StopRustdesk([string]$serviceName) { Stop-Process -Name $serviceName -Force | Out-Null } -function ConfigureRustdesk([string]$rdServer, [string]$rdKey, [bool]$enableAudio, [string]$serviceName) { +function ConfigureRustdesk([string]$rdServer, [string]$rdKey, [bool]$enableAudio, [bool]$enablePrinter, [string]$serviceName) { Write-Output("Configure Rustdesk client and service") $ipAddress = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.status -ne "Disconnected"}).IPv4Address.IPAddress @@ -205,6 +205,16 @@ local-ip-addr = '$ipAddress' Set-Content $env:WinDir\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml $rd2Toml | Out-Null } +function UninstallRemotePrinter([bool]$enablePrinter) { + if (!($enablePrinter)) { + if ($env:ProgramW6432) { + cmd /c ""$env:ProgramW6432\Rustdesk\rustdesk.exe --uninstall-remote-printer"" | Out-Null + } else { + cmd /c ""$env:ProgramFiles\Rustdesk\rustdesk.exe --uninstall-remote-printer"" | Out-Null + } + } +} + function SetRustdeskPW([int]$pwLength) { $rustdeskPW = (-join ((65..90) + (97..122) | Get-Random -Count $pwLength | % {[char]$_})) if ($env:ProgramW6432) { @@ -214,7 +224,7 @@ function SetRustdeskPW([int]$pwLength) { } #Workaround: Copy permanent password settings from: - # $env:Appdata\RustDesk\config\RustDesk.toml + # $env:Appdata\RustDesk\config\RustDesk.toml # to: # $env:WinDir\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk\RustDesk.toml # @@ -316,7 +326,7 @@ InstallRustdesk StopRustdesk -serviceName $serviceName -ConfigureRustdesk -rdServer $rdServer -rdKey $rdKey -enableAudio $enableAudio -serviceName $serviceName +ConfigureRustdesk -rdServer $rdServer -rdKey $rdKey -enableAudio $enableAudio -enablePrinter $enablePrinter -serviceName $serviceName $rustdeskPW = SetRustdeskPW -pwLength $pwLength @@ -324,6 +334,8 @@ $rustdeskID = GetRustdeskID OutputIDAndPW -rustdeskID $rustdeskID -rustdeskPW $rustdeskPW +UninstallRemotePrinter -enablePrinter $enablePrinter + StartRustdesk -serviceName $serviceName if ($toNextcloudPassword) {