gpt4 book ai didi

powershell - 以 SYSTEM 身份运行时查找当前登录用户(无环境变量)

转载 作者:行者123 更新时间:2023-12-02 07:25:51 25 4
gpt4 key购买 nike

我创建了一个 PowerShell 脚本,用于将当前用户保存到报告中。创建此报告时,它运行良好,因为我使用的是 $env:USERNAME。但是,既然报表作为计划任务在 SYSTEM 帐户下运行,它会将当前用户保存为“HOSTNAME$”。是否有另一种简单的方法来获取已登录的用户?以下也不起作用:

Get-WMIObject -class Win32_ComputerSystem | select username

任何想法都将不胜感激,因为我需要保存当前登录的用户。我还需要以 NT AUTHORITY\SYSTEM 身份运行报告以运行提升的任务。

最佳答案

“当前用户”是一个模棱两可的术语,取决于您所查看的内容。用户登录桌面(本地或远程)?运行后台进程的用户?访问 SMB 共享的用户?西米? WinRS?

假设您想识别在桌面上登录的用户,您可以检查 explorer.exe 进程的所有者,如 this answer on ServerFault 中所述。 :

Get-WmiObject Win32_Process -Filter "Name='explorer.exe'" |
ForEach-Object { $_.GetOwner() } |
Select-Object -Unique -Expand User

关于powershell - 以 SYSTEM 身份运行时查找当前登录用户(无环境变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017531/

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