Powershell 在 gpedit 脚本中获取用户名

用户754730

我正在使用 gpedit.msc 脚本进行登录/注销/关机/启动事件。以下 PowerShell 脚本针对这些事件运行:

$web = New-Object System.Net.WebClient
[String] ${stUserDomain},[String]  ${stUserAccount} = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name.split("\")
$str = $web.DownloadString("https://srv4923/event.php?username=" + ${stUserAccount} + "&workstation=" + $env:ComputerName + "&event=" + $args[0])
$str

PHP 脚本然后在 MySQL 数据库中生成一个条目。该脚本适用于登录和注销事件,但对于关闭/启动事件,用户名不再是“myusername”,而是“SYSTEM”。可以通过以不同的方式获取用户名以某种方式阻止吗?我知道当启动事件被触发时,用户可能没有登录,因此没有可用的用户名。但是当用户关闭机器或重新启动机器时,我们应该仍然知道是谁做的?

变得

至于这...

“...关闭/启动事件... myusername”不再是“系统”...

这不是 PowerShell 代码问题,而是操作系统设计要求过程。

简单的答案是否定的,因为启动时永远不会有用户。它始终是 SYSTEM 并且必须是。Windows MSGINA.dll 在系统处于就绪状态之前不会启动,然后它会为用户显示 MSGINA 登录,无论您是否决定使用自动登录。

您必须关联注销和关机事件以获取关机前最后登录的用户。

但是请记住,管理员可以远程关闭系统,就像计划任务甚至停电或电力系统浪涌一样。因此,即使存在这种相关性,您也必须牢记这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Makefile中获取用户名?

从Go中的SAML响应中获取用户名

在春季启动中无法获取用户名

以“”获取用户名

如何在Windows PowerShell中获取当前的用户名?

如何在Windows Powershell中获取Azure Active Directory用户名?

如何在运行窗口服务msi的Powershell脚本中包含用户名和密码

如何获取用户的用户名?

使用Powershell在网页中填充用户名/密码

Powershell Active Directory用户名

是否存在可以更改gpedit设置以将远程桌面用户限制为单个会话的PowerShell命令?

PowerShell WMI查询无法在登录脚本中返回用户名

如何从Facebook中的用户名获取用户ID

如何从使用pkexec运行的python脚本中获取用户名?

从用户名获取用户名。

在gpedit.msc中找不到Windows Defender

流星在发布功能中获取用户名

string 和 powershell 从数组中提取用户名

执行顺序关闭 Windows 和 GPEDIT.MSC 脚本

从 ID 中获取用户名

PowerShell 中的正则表达式从 Active Directory 中的 Managedby 属性获取用户名

如何在 / 之后的 url 中获取用户名?

尝试获取 Artifacts Run Powershell 脚本中使用的开发测试实验室 VM 用户名

如何从 django 用户模型中获取用户名

使用 Powershell 从日志文本中提取用户名

Powershell Get-ChildItem 从配置文件文件夹中提取用户名

如何从我的 powershell 脚本向 git 的凭据用户提示发送用户名和密码?

使用PowerShell从文本文件中提取用户名和电子邮件

通过用户名获取用户?