我目前正在尝试编写一个脚本,该脚本将自动连接到我们的一个 Exchange 服务器,以远程打开 Exchange 管理 shell。这是我迄今为止编写的脚本:
$servers = "ex1.domain.local", "ex2.domain.local"
$server = $servers[(Get-Random -Maximum $servers.count)]
$credential = Get-Credential domain\administrator -Message "Enter your login credentials"
write-host "Connecting remote PowerShell to $($server)..."
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://$server/PowerShell/ -Credential $credential
New-PSSession -Session $session -DisableNameChecking -AllowClobber
该脚本似乎运行良好,但不幸的是,powershell 控制台窗口在之后立即关闭New-PSSession -Session $session -DisableNameChecking -AllowClobber
。每当我将这些命令单独粘贴到 powershell 脚本中时,它都可以正常工作。
如何改变此脚本以便在导入 powershelkl 会话后不自动关闭控制台窗口?
答案1
您需要使用开关调用脚本-noexit
。我个人使用.bat
文件和开关调用 powershell.exe 进程。
例子:
powershell -noexit "C:\Scripts\PSSession_Exchange\ExchangePowerShell.ps1"
运行该.bat
文件,一切就绪了。
答案2
我使用Read-Host "Press Enter"
它来等待用户输入 Enter 键来完成运行。
答案3
关于代码问题,我建议你把它发布到Microsoft TechNet Exchange 服务器开发论坛。