【问题标题】:Change system clock by ProcessLauncher on uwp通过 uwp 上的 ProcessLauncher 更改系统时钟
【发布时间】:2016-07-20 05:41:02
【问题描述】:

我正在尝试在 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 上执行此操作。

据微软称:“注意,ProcessLauncher API 在当前用户凭据或 DefautlAccount 下启动可执行文件,因此需要管理员权限的应用程序将无法正常运行。”

对更改系统时钟有帮助吗?

谢谢。

【问题讨论】:

标签: c# powershell raspberry-pi win-universal-app impersonation


【解决方案1】:

您必须使用以下代码添加应用程序才能在 windows Iot core 的 AllowedExecutableFilesList 注册表中添加应用程序,因此您需要使用以下命令将应用程序或文件添加到 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"

继续,在您的设备上运行上述命令,使用SSHPowerShell。之后,您授权访问此应用程序和文件。

注意ProcessLauncher API 在当前用户凭据或 DefautlAccount 下启动可执行文件,因此需要管理员权限的应用程序将无法正常运行。

查看此链接了解更多详情:

https://ms-iot.github.io/content/en-US/win10/samples/ProcessLauncherSample.htm

【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    相关资源
    最近更新 更多