.net winpe 4.0使用带-Credential的启动进程无法正常工作

.net winpe 4.0使用带-Credential的启动进程无法正常工作,.net,powershell,.net-4.0,powershell-3.0,winpe,.net,Powershell,.net 4.0,Powershell 3.0,Winpe,一旦部署脚本启动,我将尝试在WinPE 4.0下运行此脚本: 启动进程x:\windows\notepad.exe-凭证获取凭证 我向凭证弹出窗口提供了正确的凭证,但随后收到以下错误: cmdlet在命令管道位置1获取凭据 提供以下参数的值: 资质 启动进程:由于以下错误,无法运行此命令:指定的服务不作为已安装的服务存在。 第1行字符:1 +启动进程x:\windows\system32\notepad.exe-凭证获取凭证 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

启动进程x:\windows\notepad.exe-凭证获取凭证

我向凭证弹出窗口提供了正确的凭证,但随后收到以下错误:

cmdlet在命令管道位置1获取凭据 提供以下参数的值: 资质 启动进程:由于以下错误,无法运行此命令:指定的服务不作为已安装的服务存在。 第1行字符:1 +启动进程x:\windows\system32\notepad.exe-凭证获取凭证 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidOperation::[Start Process],InvalidOperationException +FullyQualifiedErrorId:InvalidOperationException,Microsoft.PowerShell.Commands.StartProcess命令

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

在Windows Server 2012上运行与-Credential完全相同的代码行是完美的,因此我认为PowerShell 3.0或WinPE 4.0下的.NET 4.0缺少一些东西


感谢您提供的任何帮助或提示。

请尝试通过编程创建凭据,例如:

$passwd = ConvertTo-SecureString "PlainTextPassword" -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential "username",$passwd
Start-Process x:\windows\notepad.exe -credential $cred

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

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

这将显示“凭据”对话框,但由于WinPE中未安装必要的服务,因此没有任何可验证的内容


Darrick West

Hi Keith,按照您建议的方式操作会产生相同的错误。您是使用本地帐户还是域帐户的凭据?域帐户:domain\username