-
Notifications
You must be signed in to change notification settings - Fork 0
/
aa2.ps1
38 lines (31 loc) · 1.69 KB
/
aa2.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# SSH接続のためのユーザー名、パスワード、サーバー名を定義します
$sshUser = "Ycsvm103\Administrator"
$sshPassword = ConvertTo-SecureString "#YamadaVM03" -AsPlainText -Force
$sshServer = "Ycsvm103"
# SSHのユーザー名とパスワードを使用してPSCredentialオブジェクトを作成します
$sshCredential = New-Object System.Management.Automation.PSCredential ($sshUser, $sshPassword)
try {
# 与えられた認証情報を使用して指定したサーバーにSSHセッションを作成します
$sshSession = New-SSHSession -ComputerName $sshServer -Credential $sshCredential
# リモートサーバー上でコードページをUTF-8(65001)に変更します
$command = "chcp 65001"
Invoke-SSHCommand -SSHSession $sshSession -Command $command
# 'tasklist'コマンドをリモートで実行し、"rdp"と"dwm"を含むタスクのリストを取得します
$command = "tasklist /v | findstr /i /c:""rdp"" /c:""dwm"""
$taskList = Invoke-SSHCommand -SSHSession $sshSession -Command $command
# タスクリストを出力します
$taskList.Output
# 'query session'コマンドをリモートで実行し、セッションのリストを取得します
$command = "query session"
$sessionList = Invoke-SSHCommand -SSHSession $sshSession -Command $command
# セッションリストを出力します
$sessionList.Output
} catch {
# SSHコマンド実行の失敗を処理します
Write-Error "SSHコマンドの実行に失敗しました: $_"
} finally {
# SSHセッションが存在する場合は閉じます
if ($sshSession) {
Remove-SSHSession -SessionId $sshSession.SessionId
}
}