我试图在raspberry(uwp)上运行一个powershell脚本来用c#更改系统时钟。
运行以下代码会抛出异常' System.UnauthorizedAccessException'。
await ProcessLauncher.RunToCompletionAsync(..."set-date.ps1", date.ToString());
set-date.ps1文件内容:
function Set-Time ([string]$dateTime) {
$newDate = Get-Date $dateTime
Set-Date $newDate
}
我试图找到其他方法来尝试或尝试在模仿者中运行ProcessLauncher,但我不知道如何在uwp上执行此操作。
根据Microsoft:"注意,ProcessLauncher API在当前用户凭据或DefautlAccount下启动可执行文件,因此需要管理员权限的应用程序将无法正常运行。"
有关更改系统时钟的任何帮助吗?
谢谢。
答案 0 :(得分:1)
您必须使用以下代码添加应用程序,以在Windows Iot核心中的 AllowedExecutableFilesList 注册表中添加这些代码,因此您需要使用以下命令将应用程序或文件添加到Windows注册表中的AllowedExecutableFilesList Key:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\EmbeddedMode\ProcessLauncher" /v AllowedExecutableFilesList /t REG_MULTI_SZ /d "c:\windows\system32\ipconfig.exe"\0"c:\windows\system32\tlist.exe"\0"c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe\0"
继续,使用SSH或PowerShell在您的设备上运行上述命令。之后,您授权访问此应用和文件。
注意:
ProcessLauncher
API会根据当前用户凭据或DefautlAccount启动可执行文件,因此需要管理员权限的应用将无法正常运行。
请参阅此链接了解更多详情:
https://ms-iot.github.io/content/en-US/win10/samples/ProcessLauncherSample.htm
答案 1 :(得分:0)
出于安全问题,我不认为这是开箱即用的。