问题标签 [wmic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 从批处理文件如何检查是否安装了程序?
如果用户尚未安装 Microsoft Lync,我正在编写一个需要安装 Microsoft Lync 的批处理脚本。然后,它会在那之后安装我的自定义 Lync UI。考虑到以下情况,检查是否安装了 Lync 的最佳方法是:
- 这将在用户登录时运行并且应该很快
- 用户可能正在使用 32 位或 64 位 Windows(XP 或 7)
wmi - Win32_Service 查询时 WMI 访问被拒绝
我正在使用 WMI 检索远程计算机服务。要检查结果,我尝试使用 WMIC,例如:
WMIC /NODE:"hostname" /USER:"login" /PASSWORD:"pwd" 操作系统
WMIC /NODE:"hostname" /USER:"login" /PASSWORD:"pwd" SERVICE 等。
Win server 2k3 机器上一切正常。但是在新的 Win 服务器 2k8 上,它可以正常工作,但不能使用 SERVICE 别名 - 我只是得到“0x80041003 Access Denied”。远程查询时出现此错误(如果我在服务器本身本地查询 SERVICE 则没有错误)。
我的用户是这台服务器的管理员。我检查了本地安全策略,从 root/CIMV2 命名空间向用户授予 remoteEnable 权限,远程访问的 DCOM 权限,远程午餐,远程激活。我尝试启用日志记录,但找不到任何有用的信息。我已经阅读了数十篇关于这个主题的文章,但也找不到答案。
这里http://technet.microsoft.com/en-us/library/ee692772.aspx我读过:“0x80041003 (WBEM_E_ACCESS_DENIED) 这通常会在尝试访问命名空间的进程没有所需的 WMI 权限时导致。尝试远程访问的帐户应该是目标计算机上的管理员;此外,该帐户可能需要启用特定权限。要解决此错误,请检查远程名称空间上的名称空间安全性,以查看为该帐户启用的权限。
所以,我已经完成了所有推荐的操作,但没有结果。
为什么我可以成功查询所有别名(意味着用户拥有所有必要的权限)但不能查询 SERVICE?现在我已经没有任何想法并寻求帮助。
windows - 检查是否安装了 WMIC,将数据从批处理文件写入文件
我正在使用 Windows Management Instrumentation 命令行 (WMIC) 从计算机读取数据,例如硬件组件和 IP 设置。
当我使用批处理文件(Windows)为每个计算机/节点填充文件时,查询逻辑在那里实现。到目前为止,它在我的计算机和我尝试过的其他计算机上运行良好。
问题出在以前未使用过 WMIC 的计算机上,必须在第一次查询/执行时(自动)安装。这就是控制台程序打印出“正在安装 WMIC 时请稍候”的原因。
当我写入我的文件时,这是一个问题:我不想在其中包含这个字符串。另一个问题是,如果输出字符串,它会使我的所有文件崩溃。“正在安装 WMIC 时请稍候”以 ASCII 表示,数据查询的结果以某种方式写入为带有前导零的 ASCII 字符(多字节字符集?unicode?...)。
有人知道如何检查 WMIC 是否已安装?或者:如何忽略字符串?或者:我真的必须在我的文件查看器中实现一个转换器来检查字符串/字符集吗?
.net - 通过 WQL 查询调用 WMI 方法
我想使用 WQL(基本上相当于 wbemtest.exe 中的“执行方法”按钮)通过 WMI 调用静态方法,但我无法找到语法示例。
我有一个名为“HelloWmi”的自定义 WMI 提供程序,方法如下:
在 wbemtest 中,我可以单击“执行方法”按钮,输入“HelloWmi”作为对象路径,然后我会看到一个要执行的方法组合框。同样,我可以在 Windows 中运行以下命令:
但是,对于这个项目,我没有使用 Windows 的标准 WMIC 工具,而是通过 ubuntu 的 WMIC 包远程访问 WMI,这似乎不支持 Windows 的 WMIC 具有的别名。
有没有办法只使用 WQL 查询来调用 WMI 方法?
python - 使用Python从Windows批处理文件执行命令,而不创建批处理文件
我需要执行以下命令(以及其他几个类似命令)来收集 Windows 操作系统事件日志:
该命令通过 cmd 提示符成功执行。并收集文件 C:\appevent.evt 但是当我使用 Python os.system
或os.popen
执行它时会重新运行错误。
.bat
此外,如果我使用上述命令创建文件并执行.bat
使用os.system
它可以正常工作,
当我使用 cmd 执行时出了什么问题os.system
?以及如何使用 Python 执行命令?
batch-file - 如何抑制wmic的输出
有谁知道如何抑制消息“没有可用的实例”。从以下命令?提前高度感谢您的帮助!
c# - WMIC MangementClass RemoteCommand - 确定何时完成?标准输出?
我正在通过 WMIC 执行一个远程 CMD 行命令,该命令需要几秒钟才能运行。在继续之前,我目前正在做 Thread.Sleep(4000) ......必须有更好的方法!是否有一个变量或方法可以用来确定我发出的命令是否完成/状态字节?
谢谢!
我使用以下代码发出命令:
只需要弄清楚如何确定命令何时完成:)。谢谢!
vbscript - 为什么 VBScript 有时会在 WshShell.Exec 中阻塞?
我有一个使用 WshShell.Exec 获取 Windows 版本的 html 应用程序 (HTA)。我wmic os get Caption
用来获取特定版本,它在命令行和批处理脚本中运行良好。我还测试了我调用的方式WshShell.Exec
,它可以与其他命令(即echo Windows 2008
)一起正常工作。当我尝试将这些东西组合在一起时,就会出现问题,Exec 似乎只是冻结了。你能推荐一个解决这个问题的方法吗?这是我的代码:
windows - 为什么这个批处理脚本中的 FOR /f 循环评估一个空行?
我正在尝试编写一个批处理脚本,以获取(除其他外)计算机拥有的所有磁盘驱动器的列表。基本代码如下所示:
我很明显地构建了两个格式略有不同的列表以供以后使用。但是,当我运行它时,我得到的输出如下所示:
现在,我希望在这两种情况下都有尾随管道,我可以做到这一点,但我真的很困惑为什么那里有一个额外的空白条目。如果我wmic
手动运行命令,我可以看到输出的末尾确实有一个空行,但我的理解是这/f
应该是专门忽略空行的。
如果我打开ECHO
,看起来最后一行只是作为回车/换行或类似的形式出现。有没有办法做我所期待的?我错过了什么吗?我试图if
在循环中编写一个条件来排除最后一行,但它是......时髦而且从未奏效。我感谢任何/所有帮助。
process - 如何在 CMD 中使用 wmic job get/list 来获取进程名称和位置?
我需要获取计划作业正在执行的进程名称的确切位置。我想使用 WMIC JOB(如果您有任何其他建议......请告诉我)来获得它,但我不知道具体如何。我已经尝试了几种变化,但到目前为止没有运气。
我该怎么办?