問題タブ [system.management]
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.
.net - .NET Windowsサービスが自動的に開始されないことがあるのはなぜですか?
常に事前に開始していた動作中のWindowsサービスを変更しました。System.Management参照を追加した後、自動的に起動しない場合があります。次のエラーが発生します。
サービスを開始できません。System.Runtime.InteropServices.COMException(0x80010002):呼び出しがメッセージフィルターによってキャンセルされました。(HRESULTからの例外:0x80010002(RPC_E_CALL_CANCELED))
同じ問題を抱えている人とのSOに関する別の投稿をここで見つけました。
再起動後に.NetWindowsサービスが自動的に開始されないのはなぜですか?
ただし、提案された解決策は、依存するサービスが開始された後にサービスを開始することでした。ただし、サービスの[依存関係]タブに移動すると、次のように表示されます。
スレッドをスリープ状態にする回避策を使用する必要がありますか、それともこのサービスを正しく開始するためのより適切な方法がありますか?これは、サービスが開始する前に.NETが開始されていないために発生していますか?
ありがとう、
トメック
編集:例外をキャッチするためにtry-catchステートメントを追加しました。これが私のサービスのOnStart()メソッドに追加したコードです(これは例外がスローされている場所です)
サービスは今すぐ開始されますが、私が追加した機能はありません。私は.NETを初めて使用しますが、オンラインで見つけたサンプルからウォッチャーコードを取得したので、それが正しいと確信しています。イベントログには同じ例外が表示されます。
スリープ/レジュームウォッチャーを作成できませんでした通話がメッセージフィルターによってキャンセルされました。(HRESULTからの例外:0x80010002(RPC_E_CALL_CANCELED))
.net - System.Management.ConnectionOptions では常にテキストにパスワードが必要ですか?
.NET で WMI を使用して、Web アプリでリモート マシンに接続しています。接続を初期化するとき、Management ConnectionOptions には常にテキストでユーザー名とパスワードが必要です。たとえば、page.user.identity を介して、現在の Windows ユーザーのコンテキストを使用する方法があるかどうか疑問に思っていました。connectionoptions を空白のままにすると、デフォルトでは何も表示されず、null のままになります。その理由は、ユーザーがログオン/パスワードを入力する必要がないようにするためです。これが、Windows 統合セキュリティの要点ですよね?
どんな情報でも大歓迎です!ありがとう
c# - x64 で WMI を使用して SQL Server エイリアスを作成する
一部のサーバーに必要な SQL Server エイリアス エントリを自動的に作成する小さなアプリがあります。コードの大部分は次のようになります。
これにより、32 ビット OS で必要なエントリが正しく作成されますが、x64 OS では、エイリアスを 64 ビット SQL Server クライアント構成にも追加する必要があります。
これを行う方法はありますか?
ありがとう。
c# - ManagementObjectSearcherのメモリ不足の例外
C#.Net MVC2アプリには、Webサーバーを識別するスキームの一部としてプロセッサIDを取得する簡単な関数があります。関連する部分は次のとおりです。
これは、開発者や、cassiniおよびIISを実行している多くのWebサーバーで正常に機能しています。ただし、Server 2008マシンへの最新のインストールでは、プロセッサIDを取得するための最初の呼び出しでメモリ不足例外がスローされます。上記を達成するための考えられる原因またはより良い方法に関するアドバイス。
どうもありがとう
スタックトレースを含めるように編集します。
c# - WMI C# 2005 を使用して、Windows 2000 および XP オペレーティング システムの開始プロセスとイベントをログに記録します。
コントロール パネルの選択やアクセスなどのイベントや、「コマンド」の実行などのプロセスを WMI がキャッチできる方法はありますか。
私は ManagementEventWatcher の初心者であり、イベントとプロセスが開始された瞬間をキャッチできるかどうか疑問に思っていました。2000 および XP Windows OS のイベントとプロセスの開始を監視できるように、ログに記録するか、単純なリスト ボックス内にアクティビティを配置したいと考えています。
asp.net - 「ManagementScope」が見つかりませんでした
次のエラーが表示されます。
CS0246: The type or namespace name 'ManagementScope' could not be found...
この行で:
プロジェクトは正常にビルドされますが、実行時にページを読み込もうとすると、上記のコンパイラ エラーが発生します。はい、適切なusing System.Management
ステートメントがあります。はい、System.Management
参考にさせていただきました。これは私のusingステートメントブロックです:
私はこの質問を読みました、そして私のプロジェクトは4ではなく.Net 3.5 Frameworkをターゲットにしています。それが役立つ場合、問題のあるコードはプロジェクトのApp_Codeディレクトリに含まれるクラスファイル内にあります。ファイルの [詳細プロパティ] の下の [ビルド アクション] が [コンパイル] に設定されています。これは、ファイルSystem.Management
のコード ビハインドで最近名前空間を使用していて、コンパイルして正常に実行されたので、これが問題に関係している可能性があると考えています。aspx
c# - System.Management.ManagementException
次のコードを実行しています:
一部のマシンでは問題ありませんが、一部のマシンでは次のエラーが発生します。
System.Management.ManagementException: 見つかりません
コール スタック:
理由はありますか?
c# - ボリューム ガイドを使用して Win32_Directory を検索します。
ボリューム名ではなくボリューム GUID を使用して、リモート コンピューターにディレクトリが存在するかどうかを確認しようとしています。WMI でこれを実現する方法はありますか? いくつかの異なるアプローチを試してみましたが、WQL 構文が正しくないようです。おそらく文字エスケープが不十分なためです。以下は、問題に対する私の試みの1つです。
このコードを実行すると、無効なクエリの例外が発生します。このクエリで Powershell を何度も試行しましたが、同じ無効なクエリの例外も受け取りました。誰かが過去にこれを試みたことがありますか、それとも可能ですか?
ありがとう、クリス
c# - シャットダウンに system.management を使用するとアクセスが拒否される
私が担当している 15 台のコンピューターをリモートでオン/オフできるようにする小さなプログラムを C# -MVC# 2008 Express- で作成しようとしています。それらをオンにするのは簡単でしたが、オフにするのはもう少し問題があるようです.
まず、ドメインも SharePoint も持っていません。Windows XP の単純なワークグループだけです。今、私はshutdown.exeを動作させることができましたが、C#ソリューションが必要であると考えたので、少し検索した後、system.management名前空間を使用してうまく機能するコードを見つけました.
両方のソリューションの唯一の問題は、同じ管理者アカウントにログインする必要があることです。私が一緒に仕事をしているすべての人が最も技術に精通しているわけではないので、管理者アカウントを使用できるようにすることを考えると緊張します.
その機能にアクセスさせることはできませんでしたが、次のコードを見つけました。
しかし、それを使用しようとすると、アクセス拒否エラーが発生し続けます。
「アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))」} System.Exception {System.UnauthorizedAccessException}
パスワードとユーザー名だけをコメント解除しようとしました(私が知っている管理者アカウントのパスとユーザー名を使用して)権限もコメント解除しました。私が使用した:
しかし、何も機能していないようです。これに特別な設定が必要かどうかはわかりませんが、前述のように、他のマシンで使用されている管理者アカウントにログインすると、接続してシャットダウンできます。現在、代替管理者アカウントでテストしています。
読みました:
http://msdn.microsoft.com/en-us/library/aa393613(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa393266(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa389286(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa389290(VS.85).aspx (正直なところ、これはよくわかりませんでした)
ドメインでのみ許可されている可能性がありますが、これに関する確認は見つかりませんでした。別のアカウントを追加する必要がないようにしたいので、何か提案はありますか?
c# - C#、WMI、または System.Management を使用して IIS 6.0 からサイトと SSL 証明書のリストを取得する方法
IIS 6.0 サイトのすべての SSL 証明書を特定のリモート サーバーから集中バックアップ サーバーにエクスポートして、SSL 証明書を移行および/またはバックアップできるようにしようとしていますが、IIS 6.0 でこれを行う方法がわかりません (すべてのステージングおよび運用中のサーバーは引き続き IIS 6.0 を実行します)。IIS 6.0 Web サイトをターゲットにするために C# と System.Management を使用する方法はありますか。考えられることはすべて試しました。
疑似ロジック: サーバー X 上のすべての IIS Web サイトのリストを取得する サイトに SSL 証明書バインディングが関連付けられている場合は、IIS Web サイトの名前で SSL 証明書をエクスポートします。
IIS 7.0 に必要なものに近いコードを次に示します。
これは、IIS 6.0 から必要な情報を取得する方法を完全に取得できない/わからないコードです。クエリを正しく取得できません。