問題タブ [wmi-query]
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 - 2008 サーバー R2 で WMIprvse プロセスがメモリ リークを起こす
VM マシンで Windows 2008 R2 サーバーを実行しています。私の .NET サービスはこのサーバー上で実行されており、定期的に WMI にクエリを実行しています。次に例を示します。
Win32_Service WHERE から ProcessId を選択 ...
1 日か 2 日後、WMIprvse は最大 500M のメモリを消費し、WMI クエリはメモリ不足の例外を取得し始めます。
この記事はこの問題について話しているようです: " http://support.microsoft.com/kb/958124 "
Microsoft はこの問題を認識しており、次のメジャー リリースまで修正プログラムを発行しないという記事を他の記事で見ました。 http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/256eb40c-d050-4278-a3d8-863e30db02a0
これに関する提案や洞察をいただければ幸いです。
sql - get-wmiobject sql joininpowershell-リモートシステムの物理メモリと仮想メモリを見つけようとしています
get-wmiobject -query "Select TotalPhysicalMemory from Win32_LogicalMemoryConfiguration" -computer COMPUTERNAME >> output.csv
get-wmiobject -query "Select TotalPageFileSpace from Win32_LogicalMemoryConfiguration" -computer COMPUTERNAME >> output.csv
私はこのスクリプトを次のような出力で完成させようとしています:
windows - WMIを使用してWindowsコンピューターのSIDを取得するにはどうすればよいですか?
ユーザーSIDを探していません。ActiveDirectoryがコンピューターを一意に識別するために使用するコンピューターSIDを探しています。また、Active Directoryサーバーにクエリを実行したくないので、コンピューター自体にクエリを実行します。
iis - IIS7 接続時の WMI エラー
ここで説明されているのと同じエラーが発生します。
http://forums.iis.net/p/1033115/1700749.aspx
Windows Server 2008 SP2 および IIS 7 で実行されている Web アプリケーションを制御しようとする PowerShell コマンドレットがあります。最初に実行しようとすることの 1 つは、WMI を使用してリモート マシンに接続しようとすることです。次のようなコードを使用してこれを行います。
this.Name はサーバー名です。このコードは常に機能します (例外をスローしません) が、リモート マシンでは Windows イベント ログに次のエラーが記録されます。
名前空間が RequiresEncryption でマークされているため、root\WebAdministration 名前空間へのアクセスは拒否されましたが、スクリプトまたはアプリケーションは、Pkt_Privacy 未満の認証レベルでこの名前空間に接続しようとしました。認証レベルを Pkt_Privacy に変更し、スクリプトまたはアプリケーションを再度実行します。
しかし、コマンドレットが実行されると、this.iisScope を使用していくつかのクエリが実行され、それらはすべて成功し、そのエラーが再び表示されることはありません。何が起こっているのか推測していますが、それを証明する方法がわかりません。Packet Privacy なしで接続しようとして失敗し、Packet Privacy を使おうとしていると思います。Wireshark でパケットの盗聴を試みましたが、有用な情報は得られませんでした。
usb - WMI および WMQ を使用して、サービス タイプ USBSTOR の Win32_PnPEntity から論理ディスクおよびパーティション情報を取得します。
当社独自の USB デバイスが PC に接続されていることを検出しています。これを検出すると、関連するWin32_PnPEntityを取得します。このWin32_PnPEntityを次の情報のソースとして使用します。
- USB 記述子 VID、PID、REV、ファームウェア バージョン。
- ドライブ文字情報を取得するための論理ディスク ドライブ ボリュームおよびパーティション情報。
私が抱えている問題は、WMI と WMQ を使用して、 Win32_PnPEntityから論理ディスクとパーティション情報にアクセスする方法を見つけようとしていることです。Win32_PnPEntityはServiceタイプのUSBSTOR (USB Storage だと思いますか?)
以下は、私が現在行っているプロセスの説明です。
USB デバイスが PC に接続または切断されたことを検出するために、イベント ウォッチャーでWin32_USBControllerDeviceをリッスンします。次のクエリを使用して、イベントで発生するものを制限します。
「SELECT * FROM
__InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA
'Win32_USBControllerDevice' AND
TargetInstance.__RELPATH LIKE '%DeviceId=%VID_1111%'」
このイベントが発生すると、" Win32_USBControllerDevice.Dependent " プロパティを取得し、" DeviceId " 値を取得します。次に、この " DeviceId " 値をWin32_PNPEntityクラスで使用して、関連付けられたインスタンスを取得します。
これは私にとって物事がトリッキーになるところです...
Win32_PnPEntityインスタンスが関連するWin32_DiskDriveにアクセスする必要があります。ボリューム情報を取得するためにこのインスタンスが必要なので、各パーティションに割り当てられているドライブ文字を取得できます。しかし、私はそれに到達する方法がわかりません。
Win32_PnPEntityが VID、PID をイベントのリッスンと検索の制約に提供するため、このプロセスを実行します...必要なファームウェア バージョンも提供します。したがって、この時点から、 Win32_PnPEntityのWin32_DiskDriveを取得したいと考えています。
任意の入力をいただければ幸いです。
--- 問題をよりよく説明するための追加情報:
これまでの手順は次のとおりです。
- 「Win32_USBControllerDevice」の「__InstanceModificaitionEvent」をリッスンします -
「__InstanceModificaitionEvent」の「TargetInstnace」から「Win32_PnPEntity」を
取得します - 「Win32_PnPEntity」から「DeviceId」を取得します' PID、VID 情報が含まれています。
私が今抱えている問題は、「Win32_LogicalDisk」および/または「Win32_DiskDrive」および/または「Win32_DiskPartition」または、接続された USB デバイスが「Mass Storge」インスタンスに割り当てられているドライブ文字への他の ASSOCIATOR または REFERENCES リンクを見つけようとすることです。 .
この問題について私が考える最善の方法は、次の「図」で説明されています。
私がやろうとしているのは、USB デバイスの「Win32_PnPEntity」表現から「Win32_DiskDrive」表現に取得する方法を理解することです。
以下は、デバイスが接続されているときに実行する powershell スクリプトです。USB デバイスに属するすべてのインスタンスが表示されます。私はデバイスの 1 つだけを接続しているので、それらが 1 つのデバイスに属していることを知っています。
PS C:\Users\USER.DOMAIN> gwmi Win32_PNPEntity |? { ($_.DeviceId -match 'VEN_MYCOMPANY&') -または ($_.DeviceId -match 'VID_XXXX')}
__GENUS : 2
__CLASS : Win32_PnPEntity
__SUPERCLASS : CIM_LogicalDevice
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_PnPEntity.DeviceID="USB\VID_XXXX&PID_0001\YYYY"
__PROPERTY_COUNT : 24
__DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : BYDEFAULT
__NAMESPACE : root\cimv2
__PATH : \BYDEFAULT\ root\cimv2:Win32_PnPEntity.DeviceID="USB\VID_XXXX&PID_0001\YYYY"
可用性 :
キャプション : USB マス ストレージ デバイス
ClassGuid : {36fc9e60-c465-11cf-8056-444553540000} CompatibleID : {USB\Class_08&SubClass_06&Prot_50, USB\
Class_08
&SubClass_06, USB\Class_08}
ConfigManagerErrorCode
: 0
ConfigManagerUserConfig
: False
ErrorCleared :
ErrorDescription :
HardwareID : {USB\VID_XXXX&PID_0001&REV_0001, USB\VID_XXXX&PID_0001}
InstallDate :
LastCode :
メーカー : 互換性のある USB ストレージ デバイス
名前 : USB 大容量記憶装置
PNPDeviceID : USB\VID_XXXX&PID_0001\YYYY
PowerManagementCapabilities :
PowerManagementSupported :
Service : USBSTOR
Status : OK
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
SystemName : BYDEFAULT
__GENUS : 2
__CLASS : Win32_PnPEntity
__SUPERCLASS : CIM_LogicalDevice
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_PnPEntity.DeviceID="WPDBUSENUMROOT\UMB\2&37C186B&0&STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678#YYYY&0#"
__PROPERTY_COUNT : 24
__DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement }
__SERVER : BYDEFAULT
__NAMESPACE : root\cimv2
__PATH
: \BYDEFAULT\root\cimv2:
Win32_PnPEntity.DeviceID
="WPDBUSENUMROOT\UMB\2&37C186B&0&STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_MYCOMPANYI&PROD_ZZZZ_-_STORAGE&REV_5678#YYYY&0#"
dabf3de3f69a}
CompatibleID: {wpdbusenum\fs}
ConfigManagerErrorCode: 10
ConfigManagerUserConfig
: False
CreationClassName:
Win32_PnPEntity0#
エラークリア:
ErrorDescription :
HardwareID :
InstallDate :
LastErrorCode :
Manufacturer : MYCOMPANY
Name : ZZZZ
PNPDeviceID : WPDBUSENUMROOT\UMB\2&37C186B&0&STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678#YYYY&0#
PowerManagementCapabilities :
PowerManagementSupported :
Service : WUDFRd
Status : Error
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
システム名 : BYDEFAULT
__GENUS : 2
__CLASS : Win32_PnPEntity
__SUPERCLASS : CIM_LogicalDevice
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_PnPEntity.DeviceID="STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678#YYYY&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}"
__PROPERTY_COUNT : 24
__DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : BYDEFAULT
__NAMESPACE : root\cimv2
__PATH
:
\BYDEFAULT\root\cimv2:Win32_PnPEntity.DeviceID="STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678#YYYY&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
" 71a27cdd-812a-11d0-bec7-08002be2092f}
CompatibleID :
ConfigManagerErrorCode : 0
ConfigManagerUserConfig : False
CreationClassName : Win32_PnPEntity
説明 : 汎用ボリューム
DeviceID : STORAGE\VOLUME_??_USBSTOR#DISK&VEN_MYCOMPANY&PROD_ZZ_-_STORAGE&REVYY_5678#0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
エラークリア済み:
ErrorDescription:
HardwareID: {STORAGE\Volume}
InstallDate
:
LastErrorCode
:
メーカー
: Microsoft
名前: 汎用ボリューム
サービス: volsnap
ステータス: OK
StatusInfo:
SystemCreationClassName: Win32_ComputerSystem
SystemName: BYDEFAULT
GENUS : 2
__CLASS : Win32_PnPEntity
__SUPERCLASS : CIM_LogicalDevice
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_PnPEntity.DeviceID="USBSTOR\DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678\YYYY&0"
__PROPERTY_COUNT : 24
__DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : BYDEFAULT
__NAMESPACE : root\cimv2
__PATH : \ BYDEFAULT\root\cimv2:Win32_PnPEntity.DeviceID="USBSTOR\DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678\YYYY&0"
可用性:
キャプション: MYCOMPANY ZZZZ - ストレージ USB デバイス
ClassGuid: {4d36e967-e325-11ce-bfc1-08002be10318} CompatibleID: {USBSTOR\
Disk
, USBSTOR\RAW}
ConfigManagerErrorCode: 0
ConfigManagerUserConfig: False
CreationClassName:
Win32_PnPEntity -_STORAGE&REV_5678\YYYY&0
ErrorCleared:
ErrorDescription:
HardwareID: {USBSTOR\DiskMYCOMPANY___ZZZZ_-_Storage5678, USBSTOR\DiskMYCOMPANY___ZZZZ_- Storage, USBSTOR\DiskMYCOMPANY
, USBSTOR\MYCOMPANY___ZZZZ_-_Storage5...}
InstallDate :
LastErrorCode :製造元 : (標準
ディスク
ドライブ)名前
:
MYCOMPANY
ZZZZ - ストレージ USB デバイス
PNPDeviceID
:
USBSTOR \DISK&
VEN_MYCOMPANY
&PROD_ZZZZ_-_STORAGE&REV_5678\YYYY&0
上記の結果セットは、多くの情報を示しています。
結果 1 - 'SERVICE TYPE' は 'USBSTOR' です。これは、VID と PID が得られるので、'__InstanceModificaitionEvent' をリッスンするときに使用したい Win32_PnPEntity です。
結果 2 - 興味のない複合デバイス表現です。
結果 3 - 「SERVICE TYPE」は「volsnap」です。これはボリューム エンティティであり、私はこれに興味があります。
結果 4 - 'SERVICE TYPE' は 'disk' です。これはディスクエンティティであり、私はこれに興味があります。
「結果 1」と「結果 3」および/または「結果 4」の関係を取得するにはどうすればよいですか?
「Win32_PnPDevice」関連付けクラスを使用してみましたが、必要なポイントに達していないようです。私はこの PowerShell WMI および WMQ 環境に慣れていないため、'Win32_PnPDevice' を正しく使用していない可能性があります。
次のクエリを実行して、関連する「Win32_PnPDevice」エンティティの「SameElement」および「SystemElement」プロパティにあるものを特定しました。
gwmi Win32_PNPDevice |%{[wmi]
(
$ .SameElement)
} | select {$ .Name, $ .Description, $ .DeviceId, $_.Status}
gwmi Win32_PNPDevice |%{[wmi](
$ .SystemElement)
} | {$ .Name、$ .Description、$ .DeviceId、$_.Status} を選択します。
結果は次のように読み取ることができます。
Win32_PNPDevice.SameElement - {PHYSICALDRIVE1, ディスク ドライブ, PHYSICALDRIVE1, OK} Win32_PNPDevice.SystemElement - {MYCOMPANY ZZZZ - ストレージ USB デバイス, ディスク ドライブ, USBSTOR_DISK&VEN_MYCOMPANY&PROD_ZZZZ_-_STORAGE&REV_5678_YYYY&0, OK}
Win32_PNPDevice.SameElement - {USB 大容量記憶装置、USB 大容量記憶装置、USB_VID_XXXX&PID_0001_YYYY, OK}
Win32_PNPDevice.SystemElement - {USB 大容量記憶装置、USB 大容量記憶装置、USB_VID_XXXX&PID_0001_YYYY, OK}
「Win32_PnPDevice」クラスを間違って使用している可能性がありますが、「Win32_PnPEntity」を「Win32_DiskDrive」に接続できないようです...
この追加情報が私の問題をよりよく説明してくれることを願っています。
c# - インストールされたWindowサービスにプログラムでサービスの依存関係を追加するにはどうすればよいですか?
インストールされたWindowサービスにプログラムでサービスの依存関係を追加するにはどうすればよいですか?
誰かがSystem.Management
名前空間を介してWMIを使用する解決策を提案した場合、それは本当に役に立ちます。サービスを設定できる依存関係のプロパティとは何ですか?
java - 特定のユーザーとして WMI にアクセスする Java
ドメイン内の Windows ホストで WMI を照会して MAC アドレスと DNS 名を取得する Java アプリケーションを作成しようとしています。exec を介して、またはインターネットで見つけたいくつかの jar を使用してスクリプトを実行できますが、クエリを実行するときに AD アカウントを偽装できるものは見たことがありません。
クエリを実行するアカウント (そのドメインの管理者) を指定できるようにしたいと考えています。プログラムはドメインにないマシンで実行されるか、クエリするドメインが 2 つある可能性があります。
JACOB と com4J を見てきましたが、偽装を行っている例は見つかりません。
また、私は決して高度なプログラマーではないので、明らかな何かを見逃していたら申し訳ありません
前もって感謝します。
c# - WMI を使用してアプリケーションをリモートでアンインストールする
WMI を使用してアプリケーションをリモートでアンインストールするミニ w32 実行可能ファイルを作成しようとしています。
以下のコードを使用して、インストールされているすべてのアプリケーションを一覧表示できますが、WMI と C# を使用してアプリケーションをリモートでアンインストールする方法が見つかりませんでした。
プロセスとして msiexec を使用して同じことができることはわかっていますが、可能であれば WMI を使用してこれを解決したいと考えています...
ありがとう、セム
wmi - WMIを介したプロセッサの使用状況の検索
Win32_PerfRawData_PerfOS_Processor
Windows Server Enterprise 2007のクラスをリモートで使用して、CPU使用率を調べようとしています。しかし、私は11745679223456%のような巨大な14〜15桁の値を取得しています。なぜそれが誤った結果をもたらしているのか考えていますか?サーバー2008では正常に動作しているようです。これらのクラスを再インストールする方法はありますか?
PS:サーバー2007にクラスがありませんPerfFormattedData_Counters_ProcessorInfo
。このクラスをサーバーにインストールする方法はありますか?CPU使用率を見つけるために使用できる他のクラスはありますか?
perl - システムにインストールされている修正プログラムのリストをWMIで照会しますか?
システムにインストールされている修正プログラムを一覧表示し、プログラムを開始する前に、前提条件の修正プログラムが利用できないかどうかを確認するperlスクリプトを作成しています。
したがって、システム内の修正プログラムのリストを列挙できる必要があります。ここでは、wmicを使用してhtmlファイルを生成することに言及しています。WMIクエリを介してこれを行うことは可能ですか?