通过ProcessLauncher上UWP更改系统时钟(Change system clock by

2019-09-29 17:03发布

我试图运行树莓(UWP)PowerShell脚本通过C#来更改系统时钟。

运行下面的代码抛出一个异常“System.UnauthorizedAccessException的”。

await ProcessLauncher.RunToCompletionAsync(..."set-date.ps1", date.ToString());

设置date.ps1文件内容:

function Set-Time ([string]$dateTime) {
    $newDate = Get-Date $dateTime
    Set-Date $newDate 
}

我试图寻找其他办法做,或尝试运行ProcessLauncher内冒领,但我不知道如何做到这一点的UWP。

根据微软:“注意,ProcessLauncher API启动可执行文件下的当前用户凭据,或DefautlAccount,所以应用程式需要管理员特权时将无法正常运行。”

任何帮助更改系统时钟?

谢谢。

Answer 1:

您必须使用下面的代码被添加应用程序添加那些AllowedExecutableFilesList在Windows注册表物联网的核心,所以你需要使用下面的命令来应用程序或文件在Windows注册表中添加到AllowedExecutableFilesList重点:

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



Answer 2:

我不认为这是可能的,开箱即用,安全问题。



文章来源: Change system clock by ProcessLauncher on uwp