Function to remove printer after installation

This commit is contained in:
Stefan Tollkühn
2025-09-18 17:20:32 +02:00
parent 4c7892f6a7
commit 61e0634a8c
2 changed files with 29 additions and 5 deletions

View File

@@ -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) {

View File

@@ -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) {