- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-12-19 11:03
こんにちは。
クライアント(WINDOWS VISTA ENTERPRISE SP1)でVB2008のコンソールアプリケーションを開発しています。
VISTA自分自身のWindowsイベントログに書き込みはできましたが、ほかのPC名を指定して、書き込みはできませんでした。指定したPCのOSはWINDOWS SERVER 2008 DATACENTER SP1です。
TRY CATCHで返してくれたEXの内容:
コード: |
|
ex.Message=
許可されていない操作を実行しようとしました。
ex.StackTrace=
場所 Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)
場所 Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String machineName)
場所 System.Diagnostics.EventLog.GetEventLogRegKey(String machine, Boolean writable)
場所 System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
場所 System.Diagnostics.EventLog.SourceExists(String source, String machineName)
場所 vb2k8ssis.Module1.func_Winsystemlog(String argStrmsg, Int32 argIntlog, Int32 argEventid) 場所 D:\テスト用\vb2k8\vb2k8\Module1.vb:行 347
|
このファンクションのソースコードを貼ります。
コード: |
|
'Windows Systemイベントログ出力
Dim cpt = 'WIN2K8SV' ' コンピュータ名
Dim log = 'Application' ' イベント・ログ名
Dim src = 'TEST' ' イベント・ソース名
Try
If Not EventLog.SourceExists(src, cpt) Then
Dim data As New EventSourceCreationData(src, log)
EventLog.CreateEventSource(data)
End If
Dim elog As New EventLog(log, cpt, src)
Select Case argIntlog
Case 1
' Write an 'Error' entry in specified log of event log.
elog.WriteEntry(argStrmsg, EventLogEntryType.Error, argEventid)
Case 2
' Write a 'Warning' entry in specified log of event log.
elog.WriteEntry(argStrmsg, EventLogEntryType.Warning, argEventid)
Case 4
' Write an 'Information' entry in specified log of event log.
elog.WriteEntry(argStrmsg, EventLogEntryType.Information, argEventid)
Case 16
' Write a 'FailureAudit' entry in specified log of event log.
elog.WriteEntry(argStrmsg, EventLogEntryType.FailureAudit, argEventid)
Case 8
' Write a 'SuccessAudit' entry in specified log of event log.
elog.WriteEntry(argStrmsg, EventLogEntryType.SuccessAudit, argEventid)
Case Else
Exit Function
End Select
Catch ex As Exception
If ex.InnerException Is Nothing Then
strMsg = "InnerException:Nothing" & Space(1) & "Message:" & ex.Message
Else
strMsg = "InnerException:" & ex.InnerException.ToString & Space(1) & "Message:" & ex.Message
End If
End Try
|
待っています。ぜひご教授ください。
|
- めだか
- 大ベテラン
- 会議室デビュー日: 2004/11/11
- 投稿数: 109
|
投稿日時: 2008-12-19 11:55
許可されていないかも!
|
- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-12-19 12:00
引用: |
|
めだかさんの書き込み (2008-12-19 11:55) より:
許可されていないかも!
|
どうもです。
エラーメッセージを見ると、許可されていないことはわかっています。
どうすればいいですかね?WINDOWS2008のセキュリティのポート設定ですかね?それとも、ほかの何か設定必要がありますかね?
|
- King
- ぬし
- 会議室デビュー日: 2008/06/20
- 投稿数: 284
|
投稿日時: 2008-12-19 12:12
EventLogPermission とかじゃないのかな。
|
- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-12-19 12:24
引用: |
|
Kingさんの書き込み (2008-12-19 12:12) より:
EventLogPermission とかじゃないのかな。
|
どうもです。
MSDNで見たら、サポートOSは
プラットフォーム
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
となっていますが…
WINDOWSSERVER2008は入っていないですね。
http://msdn.microsoft.com/ja-jp/library/system.diagnostics.eventlogpermission.aspx
_________________ yangjiayi
|
- King
- ぬし
- 会議室デビュー日: 2008/06/20
- 投稿数: 284
|
投稿日時: 2008-12-19 12:38
サポート OS どうこうはイベントを書き込みに行く側
> クライアント(WINDOWS VISTA ENTERPRISE SP1)
の話では?
その考え方で行くと
EventLog クラスも Windows Server 2008 をサポート OS としていないですよ。
|
- rain
- ぬし
- 会議室デビュー日: 2006/10/19
- 投稿数: 549
|
投稿日時: 2008-12-19 12:38
それはおそらく、ドキュメントの更新時点で Windows Server 2008 がまだなかったからではないかと。
|
- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-12-19 12:48
引用: |
|
Kingさんの書き込み (2008-12-19 12:38) より:
サポート OS どうこうはイベントを書き込みに行く側
> クライアント(WINDOWS VISTA ENTERPRISE SP1)
の話では?
その考え方で行くと
EventLog クラスも Windows Server 2008 をサポート OS としていないですよ。
|
そうですね。
VISTAのほうでモジュールを実行します。
イベント書き込み対象はWindows Server 2008です。
_________________ yangjiayi
|