【发布时间】:2017-06-16 20:24:57
【问题描述】:
我愿意承认,我在这方面花费了更多时间。我正在寻找能够安静地使用不同凭据启动新 PowerShell 实例(在现有 PowerShell 窗口中)的 powershell 代码。
我能想到的最好的办法是非常笨重......在我的屏幕上弹出两个不同的 Powershell Windows,然后最终给我一个提示。显然,-NoNewWindow 参数不会阻止打开任何新的 PowerShell 窗口。
我非常笨拙的代码:
Start-Process powershell.exe -Credential $DomainAdmin -WorkingDirectory $env:windir -NoNewWindow -ArgumentList "Start-Process powershell.exe -Verb runAs"
如果有办法从桌面快捷方式“Runas”Powershell.exe(并保存用户名/密码)。我也会很高兴的。下面是我尝试制作的代码。但是,似乎有一个错误一直给我错误,“267:目录名称无效”
批处理文件不起作用:
runas.exe /savecred /env /noprofile /user:MKA "powershell.exe -noprofile -command \"start-process -WorkingDirectory c:\temp powershell -verb RunAs\""
我们将不胜感激。
【问题讨论】:
-
我认为 Runas 的工作方式与您想象的不同。如果启用了 UAC,
runas.exe将以标准用户身份登录%user%,而不是以管理员身份登录。我不确定您尝试做的事情是否可行,因为我最近发布了一个非常相似的问题并且无法得到有效的答案。 Link to my question -
我的问题是你为什么要打开一个新会话?如果它用于远程连接到新系统,那么您可以在同一个 powershell 窗口中运行它并根据需要在脚本中调用您创建的每个会话。
-
无远程处理。我实际上是指 Powershell 的一个实例。类似于在 powershell 控制台窗口中键入“Powershell”...除了使用不同的用户上下文。
-
在您的“非常笨拙的代码”中,您为什么要调用 2 个新的 powershell 窗口?您使用的是初始 Start-Process (实际上会抑制新的弹出窗口),然后在参数列表中,您调用另一个 Start-Process powershell.exe,它将弹出窗口...
-
目的/目标是什么?
标签: windows powershell batch-file