Я пишу программу на python, которая требует клиента S SH. Поскольку я планирую разрешить использовать программу не только себе, мне нужно убедиться, что S SH включен на компьютере через программу.
Я вижу, как использовать powershell для включения / выключения / check openS SH
Get-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Я могу получить python, чтобы открыть повышенный PowerShell.
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if is_admin():
os.system("powershell Get-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0")
else:
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
# Re-run the program with admin rights
Выше открывается повышенный PowerShell и падает, когда он начинает возвращаться
Я думаю, у меня правильная идея, но если есть лучший способ, я открыт.