gpt4 book ai didi

powershell - 打开和关闭 RDP 窗口

转载 作者:行者123 更新时间:2023-12-02 22:42:18 26 4
gpt4 key购买 nike

我有一堆服务器,我想检查是否可以使用 RDP 连接到它们。我有 2000 台服务器,所以我想将其自动化。

我对 PowerShell 不是很熟悉,这是我所拥有的:

列表.txt:

ip1
ip2
ip3
...
ipn

这是我的代码。我在每个 ips 上循环,连接,检查连接是否成功并尝试关闭它。

Get-Content C:\Users\MyUser\Documents\computers2.txt |
ForEach-Object{
cmdkey /generic:TERMSRV/$_ /user:MyUser /pass:MyPassWord
mstsc /v:$_
Start-Sleep 90
$app = Get-Process -processname "$_*"
if (Get-winevent -comp $_ -FilterHashtable @{Logname='security'; ID=4624; starttime=(get-date).addMinutes(-10)} | where {$_.properties[8].value -eq 10 -and $_.properties[5].value -eq 'MyUser'}) {
"$_" >> C:\Users\MyUser\Documents\valid.txt
}
$app.Kill()
}

远程桌面连接打开并连接。 if 语句也有效。但是我无法设法终止名为“-远程桌面连接”的新远程桌面连接。看起来 $app 是空的。

我也试过:

Stop-Process -processname "$_*"

编辑

我不想检查远程机器是否开启了 RDP(使用 Test-NetConnection -Port 53 -ComputerName $_ 检查端口),但如果特定用户可以访问远程服务器.

解决方法

Get-Content C:\Users\MyUser\Documents\computers2.txt |
ForEach-Object{
cmdkey /generic:TERMSRV/$_ /user:MyUser /pass:MyPassWord
mstsc /v:$_
Write-Host "Sleeping for 90 sec"
Start-Sleep 90
if (Get-winevent -comp $_ -FilterHashtable @{Logname='security'; ID=4624; starttime=(get-date).addMinutes(-10)} | where {$_.properties[8].value -eq 10 -and $_.properties[5].value -eq 'MyUser'}) {
"$_" >> C:\Users\MyUser\Documents\result.txt
}
Get-Process | Where-Object { $_.Name -eq "mstsc" } | Select-Object -First 1 | Stop-Process
}

如果您确定您正在使用的机器上只有一个 RDP 连接,则此方法有效。对我来说,我在 RDP 中连接到那台机器......所以它将运行 2 个 mstsc 进程。目前,它从未杀死我的 session ,只有较新的 session 。但是,如果其他人进入机器上的 RDP,它可能会破坏一切。

最佳答案

您可以使用 验证 $app 是否已正确填充:

$app = Get-WmiObject -Filter 'CommandLine LIKE "%$_%"' -Class Win32_Process
...
$app.Terminate()

或者,您可以使用 Start-Process-PassThru 来启动 mstsc.exe 并分配 $app,然后当你完成时:$app |停止进程

在行动中:

$app = Start-Process -FilePath C:\Windows\System32\mstsc.exe -ArgumentList "/v:$_" -PassThru
...
$app | Stop-Process

关于powershell - 打开和关闭 RDP 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55359652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com