Import-Module Posh-SSH $secPassword = ConvertTo-SecureString 'Paper123!@#' -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential('INTRANET\sysadmin', $secPassword) $session = New-SSHSession -ComputerName 192.168.0.6 -Credential $cred -AcceptKey -Force -ConnectionTimeout 30 Write-Output "[OK] Connected to AD2" $portCheck = @' powershell -Command "foreach ($p in @(22,445,3389,5985)) { $t = New-Object System.Net.Sockets.TcpClient; $r = $t.BeginConnect('192.168.0.149', $p, $null, $null); $w = $r.AsyncWaitHandle.WaitOne(2000, $false); if ($w -and $t.Connected) { Write-Output \"$p : Open\"; $t.Close() } else { Write-Output \"$p : Closed\"; $t.Close() } }" '@ Write-Output "`n=== Port Check 192.168.0.149 ===" $result = Invoke-SSHCommand -SessionId $session.SessionId -Command $portCheck -TimeOut 30 Write-Output $result.Output # If 445 is open, try PsExec-style via SMB to check creds # If 5985 not open, try enabling WinRM via scheduled task $cmd = @' powershell -Command "Invoke-Command -ComputerName DESKTOP-Q33I5H1 -Credential (New-Object PSCredential('INTRANET\sysadmin',(ConvertTo-SecureString 'Paper123!@#' -AsPlainText -Force))) -ScriptBlock { cmdkey /list } -ErrorAction SilentlyContinue 2>&1" '@ Write-Output "`n=== WinRM attempt ===" $r2 = Invoke-SSHCommand -SessionId $session.SessionId -Command $cmd -TimeOut 30 Write-Output $r2.Output if ($r2.Error) { Write-Output $r2.Error } Remove-SSHSession -SessionId $session.SessionId | Out-Null