5

次のコードを実行すると、エラーが発生します。これを解決するのを手伝ってください。

 class MySample
{

    public static void Main()
    {


string eventLogName = "Security";

string sourceName = "BTHUSB";

string machineName = "v.i.com";

EventLog eventLog;

eventLog = new EventLog();

eventLog.Log = eventLogName;

eventLog.Source = sourceName;

eventLog.MachineName = machineName;
foreach (EventLogEntry log in eventLog.Entries.Cast<EventLogEntry>().Reverse())// Entries.Cast<EventLogEntry>().Reverse
{
 Console.WriteLine(") Entry type: {0} , Category: {1},  Data: {2}, ID: {3}, Source: {4} \n", log.EntryType, log.TimeWritten, log.EventID, log.InstanceId, log.Source);
}
}
}

エラーは、

  Unhandled Exception: System.IO.IOException: The network path was not found.

  at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)
  at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String ma chineName)
  at System.Diagnostics.EventLog.GetEventLogRegKey(String machine, Boolean writ able)
  at System.Diagnostics.EventLog.Exists(String logName, String machineName)
 at System.Diagnostics.EventLog.OpenForRead(String currentMachineName)
  at System.Diagnostics.EventLog.GetEntryAtNoThrow(Int32 index)
  at System.Diagnostics.EventLogEntryCollection.EntriesEnumerator.MoveNext()
  at System.Linq.Enumerable.<CastIterator>d__aa`1.MoveNext()
    at System.Linq.Buffer`1..ctor(IEnumerable`1 source)    at System.Linq.Enumerable.<ReverseIterator>d__99`1.MoveNext()
 at event.MySample.Main() in E:\.net prep\.net examples\event\event\Program.cs :line 42

これを解決するのを手伝ってください。マシン名フィールドで、リモートマシンに vicom がある場合に入力する方法ですが、そのシステム名は v のみです。

4

4 に答える 4

16

スタック トレースを見ると、リモート レジストリ キーを開こうとしてエラーが発生していることがわかります。

これは、リモート レジストリサービスがターゲット マシンで実行されていないことを意味します。vicom で、サービス コントロール パネル ( services.msc ) を開き、 Remote Registryというサービスを開始します。

このサービスは通常、スタートアップの種類が [手動] に設定されているため、自動的には開始されません。イベント ログをリモートで頻繁に構成またはアクセスする必要がある場合は、これを [自動] に設定して、いつでも使用できるようにします。

于 2013-05-15T19:38:23.517 に答える
2

指定したmachineName"Venus.InsTIL.com"は、このパスを介して接続できないと思います。マシンへのUNCパスは何ですか?マシンが他の方法で接続可能であることを確認しましたか(ping、UNCファイルの参照など)?

于 2013-02-08T12:23:44.863 に答える
0

そのコードはどのアカウントで実行されていますか?ネットワークにアクセスする権限がない可能性があります。これは、Webサービスの構成によって異なります。

他の何かは、最近のOSバージョンでは、厳密にローカルアカウントが他のシステムの管理共有にアクセスすることを許可しておらず、それが再びアカウントになります。

于 2013-02-08T12:23:00.587 に答える