【发布时间】:2021-11-04 02:02:24
【问题描述】:
我的数据库上正在运行一个进程 (testxx)。每次用户连接数据库时,该进程都会启动单独的会话。所有进程都包含一个具有不同值的私有环境变量(Client-Nr)。我想用特定的私有环境变量调用特定的进程。我使用了以下命令:
假设有 5 个“testxx”进程。我想调用私有环境变量“Client-Nr”中值为“Client-Two”的一个进程。
因此,我使用以下代码:
get-process -name "testxx" | where-object {$env:Client-Nr -eq "client-Two"}
它没有调用我需要的过程。如果 PowerShell 识别出私有环境变量,我使用以下命令进行了检查:
(get-process -Name "testxx").StartInfo.EnvironmentVariables
PowerShell 无法识别此私有环境变量。但是,如果我打开“Process Hacker”,选择特定的“testxx”进程,我会看到具有特定“Client-nr”值的私有环境变量“client-Nr”。如何通过 PowerShell 调用这种私有环境变量?
【问题讨论】:
-
我被屏蔽了,只是因为提到的帖子对我没有帮助还是什么?
-
@keeran 您的问题并不完全清楚。您是否试图找到在其环境块中设置了
FirstName环境变量的进程? -
很抱歉给您带来不便。我不知道,我在处理什么。请不要仅仅因为问题不清楚就阻止该帐户。如果我不明白我在处理什么,我无法很好地解释它。我再次编辑了我的帖子。希望你们现在明白我的问题了。
-
@Olaf 谢谢你的时间。我想,我的问题是不同的。带来不便敬请谅解。能不能再看看我的帖子。我已经编辑过了。
-
@keeran 您可以在机器或用户上下文中使用环境变量。但是这两种方式都需要在创建或设置环境变量后启动要使用这些变量的 PowerShell 会话。另一种方法是使用一种设置文件或注册表值。两者都不需要在第一个 PowerShell 会话之后启动 PowerShell 会话。 ;-)
标签: powershell process window-handles