Update pve RustDesk GA sync scripts
This commit is contained in:
@@ -222,14 +222,25 @@ def guest_file_read(vmid: int, guest_path: str) -> tuple[str | None, str | None]
|
||||
|
||||
|
||||
def read_rustdesk_id_cli(vmid: int) -> tuple[str | None, str | None]:
|
||||
rid, err = guest_exec_text(
|
||||
vmid,
|
||||
['cmd.exe', '/c', f'"{RUSTDESK_EXE}" --get-id'],
|
||||
timeout=45,
|
||||
)
|
||||
attempts = [
|
||||
([RUSTDESK_EXE, '--get-id'], 'direct'),
|
||||
(['cmd.exe', '/c', f'"{RUSTDESK_EXE} --get-id"'], 'cmd'),
|
||||
(
|
||||
[
|
||||
'powershell.exe', '-NoProfile', '-NonInteractive', '-Command',
|
||||
"$ProgressPreference='SilentlyContinue'; & 'C:\\Program Files\\RustDesk\\rustdesk.exe' --get-id",
|
||||
],
|
||||
'powershell',
|
||||
),
|
||||
]
|
||||
errors: list[str] = []
|
||||
for command, label in attempts:
|
||||
rid, err = guest_exec_text(vmid, command, timeout=45)
|
||||
if rid and re.fullmatch(r'\d{6,12}', rid):
|
||||
log(f'VM {vmid}: ID {rid} from rustdesk --get-id ({label})')
|
||||
return rid, None
|
||||
return None, err or 'rustdesk --get-id returned no id'
|
||||
errors.append(f'{label}: {err or "no id"}')
|
||||
return None, errors[-1] if errors else 'rustdesk --get-id failed'
|
||||
|
||||
|
||||
def read_rustdesk_id_report(vmid: int) -> tuple[str | None, str | None]:
|
||||
@@ -243,7 +254,6 @@ def read_rustdesk_id_report(vmid: int) -> tuple[str | None, str | None]:
|
||||
def read_rustdesk_id(vmid: int) -> tuple[str | None, str | None]:
|
||||
rid, err = read_rustdesk_id_cli(vmid)
|
||||
if rid:
|
||||
log(f'VM {vmid}: ID {rid} from rustdesk --get-id')
|
||||
return rid, None
|
||||
log(f'VM {vmid}: cli miss: {err}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user