Powershell 替代 Unix who 命令显示 ssh 会话

2024-04-07

我在 Windows 服务器上,想知道谁通过 ssh 进入了服务器。在 Linux 上,以下命令有效

who -s

Windows 10 上的替代方案是什么?


使用提升的 PowerShell,您可以通过以下方式列出所有登录用户:

Get-CimInstance -ClassName Win32_LogonSession | Get-CimAssociatedInstance -Association Win32_LoggedOnUser

要仅获取通过 SSH 登录的用户,您可以使用以下管道:

Get-CimInstance -ClassName Win32_Process -Filter "Name = 'sshd.exe'" | Get-CimAssociatedInstance -Association Win32_SessionProcess | Get-CimAssociatedInstance -Association Win32_LoggedOnUser | Where-Object {$_.Name -ne 'SYSTEM'}

解释:

您正在寻找已登录的帐户(通过 SSH)。在 WMI 中,帐户由Win32_Account https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-account班级。登录会话由Win32_LogonSession https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-logonsession班级。如果用户登录,则会出现Win32_Account将与一个相关联Win32_LogonSession。该关联将由一个实例表示Win32_LoggedOnUser https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-loggedonuser class.

上面的第一个管道获取所有现有登录会话并返回与这些登录会话关联的所有用户帐户。总之,您将获得所有登录用户的列表。

要获取通过 SSH 登录的所有用户的列表,您可以评估更多关联。每个过程(Win32_Process https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-process)通过以下方式与登录会话关联Win32_SessionProcess https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-sessionprocess班级。上面的第二个管道执行以下操作:

  1. 它过滤所有进程,仅获取 SSH 守护进程的进程。
  2. 对于 SSH 进程,它确定关联的登录会话(Win32_LogonSession)通过Win32_SessionProcess协会类。
  3. 然后,它使用这些登录会话通过以下方式确定登录的用户:Win32_LoggedOnUser关联类就像第一个管道中的那样。
  4. 最后,它过滤结果以省略SYSTEM帐户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell 替代 Unix who 命令显示 ssh 会话 的相关文章

  • 如何通过 *.csproject 文件查找参考路径

    我想制作一个自动化的 powershell 脚本 报告项目的引用和引用路径 当 csproj 中的提示路径未填写时 我找不到获取引用路径的方法 这是一个快速解决方案 它抓住了每一个 csproj当前目录下的文件 并检查每个引用 对于从 GA
  • 如何让脚本执行结束后自动删除?

    是否可以制作一个Python脚本 在Windows中执行结束时删除 py文件 自删除 这种方式使您的程序不依赖于操作系统 from os import remove from sys import argv remove argv 0 奖励
  • 批处理文件 FOR /f 标记

    任何人都可以逐行准确解释以下代码是如何工作的 我真的迷路了 我一直在尝试学习如何使用 FOR 命令 但我不明白这一点 echo off for f tokens delims f in myfile do set line f call p
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • python+win32:检测窗口拖动

    有没有办法检测何时使用 python pywin32 在窗口中拖动不属于我的应用程序的窗口 我想对其进行设置 以便当我拖动标题与桌面边缘附近的图案匹配的窗口时 当松开鼠标时它会捕捉到边缘 我可以编写代码 以便在释放鼠标时将所有具有该标题的窗
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 启动 psexec 后获取进程 ID

    我有一个使用 psexec 在远程计算机上调用记事本的脚本 有什么办法可以在启动后获取进程ID吗 这是我所拥有的 PCname MyPC SessionID 2 Program Notepad exe FilePath C temp Fil
  • Powershell 脚本无法从 SCCM 正常运行 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何更改 Visual Studio Code“Powershell 集成控制台”?

    有谁知道如何安装 更新 PS 7 以供 VS Code Powershell 集成控制台使用 我可以在常规 powershell 终端上获取 PS 7 但 Powershell 集成控制台仍然是 PSVersion 5 1 我似乎不知道如何
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 通过powershell脚本在WSL中运行bash脚本

    我正在尝试运行一个启动 WSL ubuntu1804 终端的脚本 然后在该终端中运行 bash 脚本 ubuntu1804 exe cd test directory node server js 然而 在第一个命令之后 终端打开 其他两个
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 如何使用来自 Microsoft-Windows-NDIS-PacketCapture 提供程序的实时 ETW 事件?

    更大的问题是一般如何使用实时 ETW 网络堆栈事件 但我特别感兴趣Microsoft Windows NDIS PacketCapture 提供程序 所有其他网络堆栈提供程序都部分工作 但 NDIS PacketCapture NDIS P
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • notcontains 不适用于从 AD 组中提取的用户对象

    当使用 notcontains 检查数组中的对象时 它在应该为 false 时却显示为 True 这是我的代码 SPSecUsers Get ADGroupMember Test AllLondon Get ADGroupMember Te
  • Windows 窗口对接

    我想知道如何在 Windows 中将窗口停靠 捕捉到屏幕的一侧 最好使用直接的 Win32 API 我正在寻找的效果就像任务栏 一个在屏幕上有保留空间的窗口 因此最大化另一个窗口会使该窗口占据屏幕的其余部分 但使我的窗口保持在适当的位置并可
  • Powershell 新的 ScheduledTaskSettingsSet

    我尝试添加新的ScheduledTaskSettingsSet https technet microsoft com en us library jj649824 v wps 630 aspx具有自定义设置 根据 Technet 有可能的
  • 对 CSV 文件中的列进行分组并连接另一列的值

    我刚刚开始使用 PowerShell 在任何地方都找不到这个问题的答案 尝试编写一个脚本来导入 CSV 文件并搜索该文件以查看是否有任何名称相同 如果名称相同 我想将所有这些值写在同一行上 并且只显示名称一次 例如 Name Number
  • 在 Powershell 中,按记录类型拆分大型文本文件的最有效方法是什么?

    我正在使用 Powershell 进行一些 ETL 工作 读取压缩文本文件并根据每行的前三个字符将它们拆分出来 如果我只是过滤输入文件 我可以将过滤后的流传输到 Out File 并完成它 但我需要将输出重定向到多个目的地 据我所知 这不能

随机推荐

  • 如何从 &Vec 或 Vec<&T> 创建 &T 的迭代器?

    我有一个有两个变体的枚举 它要么包含对Vec of Strings 或者它包含一个Vec的参考文献Strings enum Foo lt a gt Owned a Vec
  • 在 Android 上用 Java 获取 SQLite SUM

    我是 SQLite 和 Java 的新手 我正在尝试即时学习 我有一列包含一些数值 我想获取它的总和并将其显示在文本视图中 我当前的代码是这样的 public Cursor getTotal return sqliteDatabase2 r
  • 如何根据 DataAnnotation 中的另一个属性验证一个属性

    考虑我有这两个属性 public class Test Required ErrorMessage Please Enetr Age public System Int32 Age get set Required ErrorMessage
  • 在大型 PR 堆栈中深度重命名变量

    我有一个包含 100 次提交的 PR 它将作为许多较小的 PR 提交 在 PR 堆栈的底部 我选择了一个现在觉得很奇怪的变量名称 并且希望在每次提交期间更改它 但不想在各处繁琐地解决合并冲突 有没有办法自动执行此操作 使用一些 cli 命令
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • Highcharts - 有关完整图表宽度的问题

    我正在使用 Highcharts 柱形图 我希望它是 100 宽度响应式图表 容器很简单 div 没有任何格式 当文档加载时 图表始终是固定宽度 600x400px 大小 如果我调整窗口大小或切换到另一个浏览器选项卡 图表将填充宽度并变成响
  • 将 >100K 页面链接在一起而不会受到 SEO 惩罚

    我正在创建一个网站 该网站将审查互联网上数十万个其他网站的隐私政策 它的最初内容是基于我的运行普通爬行 http commoncrawl org 50 亿页网络转储和分析所有隐私政策 https stackoverflow com ques
  • 如何使用 Retrofit 和 RxJava/RxAndroid 处理响应错误?

    我无法弄清楚如何使用改造和 RxAndroid 处理响应错误 如果存在网络错误等 则会调用 onError 但我需要能够获取响应以检查是否存在身份验证错误 相反 我得到的是一个带有空字符串的令牌 但我找不到原因 解决这个问题的最佳方法是什么
  • 如何修复滚动

    我在将工具提示定位在表内的数据列上时遇到一些问题 该表本身位于垂直滚动 div 内 为您提供一点背景 由于我无法控制的遗留问题 我正在开发的页面必须通过固定宽度和高度的 iframe 来显示 我需要显示的数据大约有12列 需要全部显示 一列
  • Django - 为什么syncdb不尊重数据库路由器?

    我已经设置了一个数据库路由器 使用以下命令将不同的应用程序和不同的模型定向到不同的数据库db for read and db for write路由器方法 这非常有效 除了 manage py syncdb不尊重这些路由器设置 When I
  • 作为 JS 的相对初学者 我正在努力尝试找到解决方案 我需要找出无序列表的哪一行被单击 ul li Line 1 li li Line 2 li li Line 3 li ul 我真的不想为每一行添加 onclick 事件 我确信一定有办法
  • 在 Android 中将图像添加到画布

    今天是个好日子 我希望您能帮助我理解如何在视图上实现的 OnTouchEvent 上将图像添加到画布中的概念 到目前为止 这就是我想出的 parent是在此自定义视图中实例化并添加到的活动 Override protected void o
  • mongodb 将 $lte 与 $indexOfArray 一起使用

    与模型的集合 stack mean 3 5 如何查询平均值小于 4 38 的堆栈数组索引 db stacks aggregate project index indexOfArray stack mean lte 4 38 我收到此错误 o
  • “@+id”是什么意思?

    我已经阅读了大部分 Android 文档 但还没有找到任何声明来说明 id 值前缀 id 的含义 我知道 string 及其变体的含义 但不知道 的变体 除了给我答案之外 你能告诉我 Android 文档中记录的位置吗 加号仅表示如果 ID
  • 为什么coq互感类型必须具有相同的参数?

    下列的亚瑟的建议 https stackoverflow com a 17304209 403875 我改变了我的Fixpoint相互关系Inductive这种关系 建立 游戏之间的不同比较 而不是 深入研究 但现在我收到一条全新的错误消息
  • 客户端 XSLT 的当前状态

    我上次听说 暴雪是少数几家将客户端 XSLT 付诸实践的公司之一 2008 年 2011年还是这样 还是现在有更多人在生产中探索这种技术 现代浏览器 IE9 FF4 Chrome 和客户端处理能力似乎已准备好利用此标准 在大规模属性上切实节
  • 为什么有人使用 UTF-8 以外的编码? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道为什么开发人员需要使用 UTF 8 以外的编码 维基百科列出了 UTF 8 与各种其他编码相比的优点和缺点 http en wikipe
  • UIACollectionView 单元格与visibleCells

    我正在尝试使用 xcode 4 5 中的自动化编写测试脚本 我有一个UICollectionView我想单击一些当前不可见的单元格 根据文档 http developer apple com library ios documentatio
  • 通过 $.ajax 调用返回附件

    我的页面上有一个 iframe 在该 iframe 内我执行代码 ajax url SamplePage ExportToExcel async false data par type POST 响应返回正常 但是我没有收到 保存附件 对话
  • Powershell 替代 Unix who 命令显示 ssh 会话

    我在 Windows 服务器上 想知道谁通过 ssh 进入了服务器 在 Linux 上 以下命令有效 who s Windows 10 上的替代方案是什么 使用提升的 PowerShell 您可以通过以下方式列出所有登录用户 Get Cim