1

一旦我的部署脚本启动,我将尝试在 WinPE 4.0 下运行它:

启动进程 x:\windows\notepad.exe -Credential (Get-Credential)

我向“凭据”弹出窗口提供了正确的凭据,但随后收到此错误:

命令管道位置 1 的 cmdlet Get-Credential 提供以下参数的值: Credential start-process:由于以下错误无法运行此命令:指定的服务不作为已安装的服务存在。在 line:1 char:1 + start-process x:\windows\system32\notepad.exe -Credential (Get-Credential) + ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException, Microsoft.PowerShell.Commands.StartProcessCommand

如果我删除 -Credential 开关,notepad.exe 会正确执行,只是为了让您知道。

在 Windows Server 2012 上运行相同的确切行(使用 -Credential)可以完美运行,所以我认为 PowerShell 3.0 或 WinPE 4.0 下的 .NET 4.0 缺少一些东西。

感谢您的任何帮助或指点。

4

3 回答 3

0

您不能在备用凭据下启动进程,因为 WinPE 没有(或至少公开)安全帐户管理器 (SAM)。由于 WinPE 无法加入 Active Directory 域,因此您无法在域凭据下启动进程。此外,由于 WinPE 没有(或者可能根本不公开)安全帐户管理器 (SAM),因此您无法在 WinPE 下创建自定义用户帐户。

于 2013-12-22T20:14:09.550 回答
0

将空字符串参数传递给 -Credential 参数: start-process x:\windows\system32\notepad.exe -Credential ""

这将显示凭据对话框,但由于 WinPE 中未安装必要的服务,因此不会有任何需要进行身份验证的内容。

达里克·韦斯特

于 2014-07-15T16:20:23.380 回答
0

尝试传入以编程方式创建的凭据,例如:

$passwd = ConvertTo-SecureString "PlainTextPassword" -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential "username",$passwd
Start-Process x:\windows\notepad.exe -credential $cred
于 2013-11-04T17:00:35.160 回答