从远程计算机访问 SQL - WMI 命名空间

发布于 2024-08-17 20:46:10 字数 673 浏览 3 评论 0原文

我正在使用 Powershell 和 SQL WMI 事件,我想知道是否可以从管理笔记本远程执行此操作:

我想查询“root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER”命名空间:

直接在 SQLServer 上:

<强>get-wmiobject -list -namespace“root\Microsoft\SqlServer”>>作品!

get-wmiobject -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER" >>>有效!

在我的管理机器上:

get-wmiobject -list -namespace "root\Microsoft\SqlServer" >>>作品!

get-wmiobject -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER" >>>错误:命名空间无效。

有什么技巧可以让它运行吗?我需要额外安装吗? 我仍在使用 SQL 2005。

谢谢!

i am playing with Powershell and SQL WMI events and i am wondering if i can do this stuff remotely from the admin notebook:

I'd like to query the "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER" namespace:

On SQLServer directly:

get-wmiobject -list -namespace "root\Microsoft\SqlServer" >> Works!

get-wmiobject -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER" >> Works !

On my Adminmachine:

get-wmiobject -list -namespace "root\Microsoft\SqlServer" >> Works!

get-wmiobject -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER" >> Error: Invalid Namespace.

Is there a trick to get this running? Do i have to additional install sth?
I am still on SQL 2005.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稀香 2024-08-24 20:46:10

使用computername 名称参数。

get-wmiobject -computername Z002 -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER"

另请记住,MSSQLSERVER 仅在服务器具有默认实例时才可用。如果服务器使用命名实例,您需要指定实例名称而不是 MSSQLSERVER。

Use the computername name parameter.

get-wmiobject -computername Z002 -list -namespace "root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER"

Also keep in mind MSSQLSERVER is only available if the server has a default instance. If the server uses a named instance you'll need to specify the instance name instead of MSSQLSERVER.

荒路情人 2024-08-24 20:46:10

发布 - 05/05/2012 : 08:25:20

大家好,

我们开发了一个免费的 WMI CLR 程序集来在 SQL 中执行 WMI 查询。

例如,这将返回安装点和驱动器空间

DECLARE @XmlData Xml
--Obtain Windows Services 
select @XmlData=dbo.GetWMI('\\SQL2008WIN2008\root\cimv2', --Machine and WMI class
NULL, --UserName, leave NULL to use current
NULL, --Password, leave NULL to use current 
'select * from win32_volume' --WMI Class
)

SELECT 
tbl.A.value('(DeviceID)[1]','VARCHAR(100)') as DeviceID,
tbl.A.value('(Name)[1]','VARCHAR(200)') as Name,
tbl.A.value('(DriveType)[1]','int') as DriveType,
ISNULL(tbl.A.value('(DriveLetter)[1]','VARCHAR(10)'),'MountPoint') as DriveLetter,
tbl.A.value('(FreeSpace)[1]','bigint')/1024/1024 as FreeSpaceMbytes
FROM @XmlData.nodes('/WMI/Data') tbl(A)

请查看http://micatio.com/sqlwmi.aspx

Posted - 05/05/2012 : 08:25:20

Hi All,

We've developed a free WMI CLR assembly to execute WMI queries in SQL.

e.g. This will return mount point and drive space

DECLARE @XmlData Xml
--Obtain Windows Services 
select @XmlData=dbo.GetWMI('\\SQL2008WIN2008\root\cimv2', --Machine and WMI class
NULL, --UserName, leave NULL to use current
NULL, --Password, leave NULL to use current 
'select * from win32_volume' --WMI Class
)

SELECT 
tbl.A.value('(DeviceID)[1]','VARCHAR(100)') as DeviceID,
tbl.A.value('(Name)[1]','VARCHAR(200)') as Name,
tbl.A.value('(DriveType)[1]','int') as DriveType,
ISNULL(tbl.A.value('(DriveLetter)[1]','VARCHAR(10)'),'MountPoint') as DriveLetter,
tbl.A.value('(FreeSpace)[1]','bigint')/1024/1024 as FreeSpaceMbytes
FROM @XmlData.nodes('/WMI/Data') tbl(A)

Have a look at http://micatio.com/sqlwmi.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文