一键修改RustDesk ID工具:三种自定义方法教程

本文阅读 5 分钟
首页 技术分享 正文

一键修改RustDesk ID工具:三种自定义方法教程

RustDesk ID一键修改工具完全指南

免费开源批处理脚本|支持三种自定义模式|解决远程设备管理难题

为什么需要修改RustDesk ID?

RustDesk作为开源远程桌面工具,默认使用随机生成的设备ID。但在企业环境中:

批量管理设备时难以识别具体机器重装系统后ID变化导致设备清单混乱使用计算机名更符合IT管理规范自定义ID便于快速识别设备位置/用途

技术痛点: 手动修改需要定位配置文件、停止服务、编辑TOML文件等复杂操作,普通用户极易出错。

工具核心功能

智能路径检测

自动扫描Program Files和Program Files (x86)目录,未找到时引导用户手动指定rustdesk.exe路径

三种修改模式

计算机名模式: 使用Windows主机名作为ID随机数字模式: 生成9位唯一数字ID自定义模式: 手动输入至少6位字符ID

自动化流程

自动完成:

1. 停止RustDesk服务

2. 终止相关进程

3. 修改配置文件

4. 重启服务

5. 启动客户端

使用教程(四步完成)

步骤1:获取脚本

创建ChangeRustDeskID.bat文件,复制以下代码:

批处理脚本源码复制代码

@echo offmode con:cols=90 lines=30title RustDesk ID 修改工具 by mephistooo2 ^| www\.TNCTR.comnet file 1>nul 2>nul && goto :Main || powershell -ex unrestricted -Command "Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c ""%\~fnx0""''"goto :eof:Mainclsset "rustdesk\_path="REM 检查默认路径for %%i in ("C:\Program Files\RustDesk\rustdesk.exe" "C:\Program Files (x86)\RustDesk\rustdesk.exe") do (if exist "%%i" (set "rustdesk\_path=%%i"goto :GetID))REM 如果不在默认路径,提示用户输入echo.echo 未在默认路径找到 RustDesk,请手动输入 RustDesk 程序的完整路径:echo 示例:D:\rustdesk\RustDesk\rustdesk.exeecho.set /p "rustdesk\_path=请输入路径:"if not exist "%rustdesk\_path%" (echo 输入的路径不存在,请重新运行脚本并输入正确的路径。echo.echo 按任意键退出。pause >nulexit)cd /d "%\~dpnrustdesk\_path%":GetIDfor /f "delims=" %%j in ('rustdesk.exe --get-id ^| more') do set rustdesk\_id=%%jgoto :Run:Runpushd %temp% >nul 2>&1echo.echo ==========================================================================================echo.echo RustDesk ID 修改工具 by mephistooo2 ^| TNCTR.comecho.echo 1 - 使用计算机名("%computername%")设置 RustDesk IDecho.echo 2 - 使用 9 位随机数字设置 RustDesk IDecho.echo 3 - 自定义输入 RustDesk IDecho.echo 4 - 退出echo.echo ==========================================================================================echo.choice /c 1234 /cs /n /m "请选择操作 : "echo.if errorlevel 4 Exitif errorlevel 3 goto :ID\_UserDefinedif errorlevel 2 goto :ID\_Randomif errorlevel 1 goto :ID\_Hostecho.:ID\_Hostecho.echo Stop-Service RustDesk > RustDesk\_ID\_Host.ps1echo taskkill /im rustdesk.exe /f >> RustDesk\_ID\_Host.ps1echo $id = Get-Content "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" ^| Select-Object -Index 0 >> RustDesk\_ID\_Host.ps1echo $hostname = hostname >> RustDesk\_ID\_Host.ps1echo Write-Host "当前 ID: %rustdesk\_id%" >> RustDesk\_ID\_Host.ps1echo $newId = "id = '$hostname'" >> RustDesk\_ID\_Host.ps1echo Write-Host "新 ID: $newId" >> RustDesk\_ID\_Host.ps1echo $fileContent = Get-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_Host.ps1echo $newContent = $fileContent -replace \[regex]::Escape($id), $newId >> RustDesk\_ID\_Host.ps1echo $newContent ^| Set-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_Host.ps1echo Restart-Service RustDesk >> RustDesk\_ID\_Host.ps1powershell.exe -ExecutionPolicy Bypass -File RustDesk\_ID\_Host.ps1start "" "%rustdesk\_path%" --traygoto :done:ID\_Randomecho.echo Stop-Service RustDesk > RustDesk\_ID\_Random.ps1echo taskkill /im rustdesk.exe /f >> RustDesk\_ID\_Random.ps1echo $randomId = -join ((48..57) ^| Get-Random -Count 9 ^| ForEach-Object {\[char]$\_}) >> RustDesk\_ID\_Random.ps1echo $id = Get-Content "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" ^| Select-Object -Index 0 >> RustDesk\_ID\_Random.ps1echo Write-Host "当前 ID: %rustdesk\_id%" >> RustDesk\_ID\_Random.ps1echo $newId = "id = '$randomId'" >> RustDesk\_ID\_Random.ps1echo Write-Host "新 ID: $newId" >> RustDesk\_ID\_Random.ps1echo $fileContent = Get-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_Random.ps1echo $newContent = $fileContent -replace \[regex]::Escape($id), $newId >> RustDesk\_ID\_Random.ps1echo $newContent ^| Set-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_Random.ps1echo Restart-Service RustDesk >> RustDesk\_ID\_Random.ps1powershell.exe -ExecutionPolicy Bypass -File RustDesk\_ID\_Random.ps1start "" "%rustdesk\_path%" --traygoto :done:ID\_UserDefinedecho.echo Stop-Service RustDesk > RustDesk\_ID\_UserDefined.ps1echo taskkill /im rustdesk.exe /f >> RustDesk\_ID\_UserDefined.ps1echo $id = Get-Content "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" ^| Select-Object -Index 0 >> RustDesk\_ID\_UserDefined.ps1echo 新的 RustDesk ID 必须至少包含 6 个字符timeout /t 2 >nul 2>&1echo.echo $newId = Read-Host "请输入 RustDesk ID" >> RustDesk\_ID\_UserDefined.ps1echo Write-Host "当前 ID: %rustdesk\_id%" >> RustDesk\_ID\_UserDefined.ps1echo $newId = "id = '$newId'" >> RustDesk\_ID\_UserDefined.ps1echo Write-Host "新 ID: $newId" >> RustDesk\_ID\_UserDefined.ps1echo $fileContent = Get-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_UserDefined.ps1echo $newContent = $fileContent -replace \[regex]::Escape($id), $newId >> RustDesk\_ID\_UserDefined.ps1echo $newContent ^| Set-Content -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" >> RustDesk\_ID\_UserDefined.ps1echo Restart-Service RustDesk >> RustDesk\_ID\_UserDefined.ps1powershell.exe -ExecutionPolicy Bypass -File RustDesk\_ID\_UserDefined.ps1start "" "%rustdesk\_path%" --traygoto :done:donedel RustDesk\_ID\_Host.ps1 >nul 2>&1del RustDesk\_ID\_Random.ps1 >nul 2>&1del RustDesk\_ID\_UserDefined.ps1 >nul 2>&1echo.echo 操作完成echo.choice /C:MX /N /M "按 M 返回主菜单 -- 按 X 退出: "if errorlevel 2 Exitif errorlevel 1 goto :Main

步骤2:以管理员身份运行

右键选择"以管理员身份运行",确保具有修改系统配置的权限

步骤3:选择修改模式

根据需求选择:

• 选项1:使用计算机名(适合企业统一管理)

• 选项2:生成随机9位ID(临时共享场景)

• 选项3:自定义ID(个性化标识)

步骤4:完成验证

脚本自动重启服务后,在RustDesk客户端查看新ID是否生效

技术实现原理

双脚本协同

批处理脚本调用PowerShell脚本实现核心功能:

• 停止RustDesk服务

• 修改TOML配置文件

• 动态生成新ID

• 重启服务进程

配置文件定位

精准定位配置文件路径:

C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml

安全清理

执行后自动删除临时生成的PS1脚本文件,确保系统无残留

常见问题解决

错误:路径不存在

解决方案:

1. 确认RustDesk已安装

2. 输入完整.exe路径(如:C:\Program Files\RustDesk\rustdesk.exe)

3. 注意空格和特殊字符使用引号包裹

错误:权限不足

解决方案:

1. 右键选择"以管理员身份运行"

2. 关闭杀毒软件临时防护

3. 检查组策略执行权限

最佳实践: 企业部署建议使用计算机名模式,按"部门-位置-编号"规则命名设备(如:IT-BJ-001),便于资产管理。

[下载完整脚本文件]()

适用于Windows 7/10/11系统 | 大小:3KB | 版本:v1.2

本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
10个必备的网站SEO优化技巧 | 提升搜索排名指南
« 上一篇 06-15
2025年2月,cursor无限续杯,开启未来无限可能!
下一篇 » 06-15