Добрый день,
Я пытаюсь создать функцию для входа на удаленные машины с помощью PSSEssion.
Идея состоит в том, что эти сеансы будут работать в фоновом режиме, а скрипт выполняет другие действия.
Проблема в том, что когда я использую Get-Job
, я вижу, что задания завершены:
Id Name PSJobTypeName State HasMoreData Location
-- ---- ------------- ----- ----------- --------
2 Job2 BackgroundJob Completed True localhost
4 Job4 BackgroundJob Completed True localhost
Когда я использую Receive-Job -Id 2 -Keep
, я также вижу результат:
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0 tmp_jeenmyes.e5c {Search-AdminAuditLog,
Проблема в том, что когда я использую Get-PSSession
, он пуст. это не показывает новые сеансы. Я также не могу использовать новые команды. Я не уверен, что я делаю не так.
Спасибо, что уделили время.
function Sessions {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName = $true)]
$AdminAccount
)
begin {
# Delete 'Broken' Sessions
$PSSession = Get-PSSession
foreach ($Session in $PSSession) {
IF ($Session.State -eq 'Broken') {
Remove-PSSession -id $Session.id
}
}
# SeesionOption for a longer session
$SeesionOptions = New-PSSessionOption -IdleTimeout $(60000 * 60) `
-OpenTimeout $(60000 * 60) -OperationTimeout $(60000 * 60)
}
process {
Start-Job -ScriptBlock {
$CloudSession = New-PSSession -ConfigurationName Microsoft.Exchange `
-ConnectionUri "https://pod51043psh.outlook.com/powershell-liveid?PSVersion=5.0.9814.0" `
-Credential $args[0] -Authentication Basic -SessionOption $args[1]
Import-PSSession $CloudSession
} -ArgumentList $LocalCred, $SeesionOptions
Start-Job -ScriptBlock {
$OnPremisesSession = New-PSSession -ConfigurationName Microsoft.Exchange `
-ConnectionUri http://wki-exch01.domain.com/powershell/ `
-Credential $args[0] -Authentication Kerberos -SessionOption $args[1]
Import-PSSession $OnPremisesSession
} -ArgumentList $LocalCred, $SeesionOptions
}
end {
}
}
Sessions -AdminAccount $Localcred