我试图运行树莓(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,所以应用程式需要管理员特权时将无法正常运行。”
任何帮助更改系统时钟?
谢谢。
您必须使用下面的代码被添加应用程序添加那些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