我花了更多时间在这上面,我想承认。我正在寻找使用不同凭据 静静地 启动新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\""
非常感谢解决方案。
答案 0 :(得分:1)
要以用户MKA
身份运行,请在Target
窗口中创建一个快捷方式:
C:\Windows\System32\runas.exe /User:MKA /savecred C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
要隐藏PowerShell控制台窗口,您可以将此代码放在正在执行的脚本的顶部。这是this StackOverflow post中我最喜欢的解决方案。
add-type -name win -member '[DllImport("user32.dll")] public static extern bool ShowWindow(int handle, int state);' -namespace native
[native.win]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0)
The post discusses other ways that may be more suitable for you.