使用保存的ps1文件启动远程PowerShell会话


15

我正在尝试创建几个文件,可以将其保存在本地桌面上以启动PowerShell会话。

Windows Server 2008和Windows Server 2012都是服务器核心安装。

当前,我可以打开Powershell并键入:

Enter-PSSession -computername Win2012SrvCore -credential administrator

使用此工具,我可以连接并运行命令,一切都很好。

我试图做的是:

创建Win2012SrvCore1.ps1带有以下内容的文件:

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

创建Win2012SrvCore2.ps1带有以下内容的文件:

PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

每个ps1文件都会快速启动和关闭,并带有一些我看不懂的红色文本。

我试图添加PAUSE到每个脚本,但这似乎并没有阻止窗口关闭。

我想做的是创建可以双击并打开Powershell提示符的脚本,类似于保存的RDP会话。

我已将ps1文件配置为执行:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

任何帮助将不胜感激。


如果您逐行在ISE中逐行手动键入此命令,会发生什么情况?您仍然收到错误消息吗?
Colyn1337

我将打开Powershell ISE(集成脚本环境)并运行脚本。这将显示输出,并允许您继续进行故障排除。
BRNDR 2014年

Answers:


10
$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

再增加一行:

Import-PSSession $session

然后保存.PS1文件,并以创建快捷方式powershell.exe -noexit -File "C:\PS.ps1"


12

添加`-noexit'

PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator


9

尝试将命令保存为脚本文件,然后让快捷方式使用命令行:

powershell.exe -noExit <filename.ps1>

这将使您的快捷方式运行指定的脚本文件,并且不会在脚本执行结束时退出powershell,因此您可以在建立会话之后继续使用该窗口。

为此,您需要确保PowerShell执行策略不受限制,否则无法执行任何脚本文件。

要检查当前的执行策略,可以使用Get-ExecutionPolicy,也可以使用它Set-ExecutionPolicy来永久更改策略,也可以将-ExecutionPolcy参数添加到powershell命令行中以针对单个会话进行更改。

使用该help about_Execution_Policies命令可以找到有关执行策略及其影响的更多信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.