Wie Sie Ereignisprotokolle verwalten mithilfe von Visual Basic .NET oder Visual Basic 2005

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 814564 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Visual c# .NET Version dieses Artikels finden Sie unter 815314.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt die zugreifen und Anpassen von Windows-Ereignisprotokolle mithilfe von Microsoft .NET Framework. Sie können mit Windows-Ereignisprotokollen interagieren, mithilfe der EventLog -Klasse. Die EventLog -Klasse können Sie folgende Aktionen ausführen:
  • Aus vorhandenen Protokollen lesen.
  • Schreiben Sie Einträge in die Ereignisprotokolle.
  • Erstellen oder Löschen von Ereignisquellen.
  • Löschen Sie Protokolle.
  • Reagieren auf Einträge zu protokollieren.
Dieser Artikel beschreibt außerdem, wie neue Protokolle erstellen, während Sie eine Ereignisquelle erstellen.


Voraussetzungen


Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Service Packs, die erforderlich sind:
  • Microsoft .NET framework
  • Microsoft Visual Basic .NET oder Microsoft Visual Basic 2005

In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • Visual Basic .NET oder Microsoft Visual Basic 2005-Syntax
  • Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005-Umgebung
  • Fehlerbehandlung in .NET Framework

Der vorhandenen Protokolle auf einem Computer suchen


Sie finden vorhandene Protokolle auf einem Computer mithilfe der GetEventLogs freigegebene Methode der EventLog -Klasse. Die GetEventLogs -Methode sucht nach allen Ereignisprotokollen auf dem lokalen Computer, und erstellt dann ein Array von EventLog -Objekten, die die Liste enthalten. Im folgenden Codebeispiel ruft eine Liste der Protokolle auf dem lokalen Computer, und dann werden die Namen der Protokolle in einem Konsolenfenster angezeigt:
      Dim remoteEventLogs() As EventLog

      'Gets logs on the local machine, give remote machine name to get the logs on the remote machine
      remoteEventLogs = EventLog.GetEventLogs(System.Environment.MachineName)

      Console.WriteLine("Number of logs on computer: " & remoteEventLogs.Length)

      'Display the list of event logs
      Dim log As EventLog
      For Each log In remoteEventLogs
         Console.WriteLine("Log: " & log.Log)
      Next log

Lesen Sie und Schreiben Sie Protokolle zu und von der lokalen und die Netzwerksystem


Protokolle lesen


Um ein Ereignisprotokoll zu lesen, verwenden Sie die Entries -Eigenschaft der EventLog -Klasse. Die Einträge -Eigenschaft der EventLog -Klasse ist eine Sammlung aller Einträge im Ereignisprotokoll. Im folgenden Codebeispiel wird veranschaulicht wie diese Auflistung durchlaufen und so lesen Sie alle Einträge in das angegebene Protokoll:
      ' Log type can be Application, Security, System or any other custom log
      ' Select the log type you want to read
      Dim logtype As String = "Application"

      ' In the constructor of the eventlog, pass the log type and the computer name 
      ' from which you want to read the logs 
      Dim evtLog As New EventLog(logtype, System.Environment.MachineName)

      Dim lastlogtoshow As Integer = evtLog.Entries.Count
      If lastlogtoshow <= 0 Then
         Console.WriteLine("There are no event logs in the log : " & logtype)
         Exit Sub
      End If

      ' Read the last record in the specified log 
      Dim currentEntry As EventLogEntry
      Dim i As Integer
      ' Show Last 2 entries. You can similarly write the log to a file.
      For i = evtLog.Entries.Count - 1 To lastlogtoshow - 2 Step -1
         currentEntry = evtLog.Entries(i)
         Console.WriteLine("Event Id is : " & currentEntry.EventID)
         Console.WriteLine("Entry type is : " & currentEntry.EntryType.ToString())
         Console.WriteLine("Message is :  " & currentEntry.Message & vbCrLf)
      Next
      evtLog.Close()

Schreiben von Protokollen


Um ein Ereignisprotokoll zu schreiben, verwenden Sie die WriteEntry -Methode der EventLog -Klasse. Um das Ereignisprotokoll erfolgreich zu schreiben, stellen Sie sicher Ihre Anwendung Schreibzugriff für das Protokoll verfügt, das Schreiben in. Weitere Informationen zu Berechtigungen, die Sie zum Lesen und Schreiben in Event logs benötigen die folgenden Microsoft-Website.

Auswirkung der Sicherheit von Ereignisprotokollen
http://msdn2.microsoft.com/en-us/library/4xz6w79h(vs.71).aspx
Sie müssen in die EventLog -Komponenteninstanz auf, die Source -Eigenschaft festlegen, bevor Sie Einträge in ein Protokoll schreiben. Wenn Ihre Komponente einen Eintrag schreibt, überprüft das System automatisch, dass die angegebene Quelle für das Ereignisprotokoll registriert ist, die Komponente zu schreibt ist. Das System ruft dann CreateEventSource , falls erforderlich. Um ein Ereignisprotokoll zu schreiben, müssen Sie den Namen des Computers übergeben, die sich das Protokoll befindet. Im folgenden Codebeispiel wird die MachineName -Eigenschaft des Environment -Klasse bestimmt des Namen des lokalen Computers:
      
  ' Check if the source exists 
      If Not EventLog.SourceExists("MySystemSource", System.Environment.MachineName) Then
         EventLog.CreateEventSource("MySystemSource", "System", System.Environment.MachineName)
      End If

      Dim evtLog As New EventLog("System", System.Environment.MachineName, "MySystemSource")

      'writing to system log, in the similar way you can write to other 
      'logs for which you have appropriate permissions to write
      evtLog.WriteEntry("warning is written to system log", EventLogEntryType.Warning, CInt(10001))
      Console.WriteLine("Log written to the system log.")
      evtLog.Close()

Protokolle löschen


Wenn ein Ereignisprotokoll voll ist, neue Ereignisinformationen Aufzeichnung beendet oder es beginnt mit der vorherigen Einträge überschrieben. Wenn Ereignisaufzeichnung angehalten wird, können Sie das Protokoll der vorhandenen Einträge löschen und so die Aufzeichnung von Ereignissen erneut zu starten. Um Ereignisprotokolleinträge löschen, müssen Sie Administrator Berechtigungen für den Computer verfügen, denen sich das Protokoll auf befindet. Rufen Sie die Clear -Methode für die Instanz der EventLog -Komponente.

Im folgenden Codebeispiel Beispiel Domonstrates, wie Sie ein Protokoll zu löschen:
      ' Create an EventLog instance and pass log name and MachineName on which the log resides
      Dim evtLog As New EventLog("Security", System.Environment.MachineName)
      evtLog.Clear()
      evtLog.Close()

Erstellen und Löschen benutzerdefinierter Protokolle

Benutzerdefiniertes Protokoll erstellen

Verwenden Sie die CreateEventSource -Methode, um Ihre eigenen benutzerdefinierten Ereignishandler erstellen. Bevor Sie das Ereignisprotokoll erstellen, verwenden Sie die SourceExists -Methode, ob Quelle, die Sie verwenden noch nicht vorhanden, und rufen dann CreateEventSource . Wenn Sie versuchen, ein Ereignisprotokoll zu erstellen, das bereits vorhanden ist, wird ein System.ArgumentException -Fehler ausgelöst.

Im folgenden Codebeispiel wird veranschaulicht wie ein benutzerdefiniertes Protokoll erstellen:
      ' Check if the log already exist
      If Not EventLog.SourceExists("MyOldSource", System.Environment.MachineName) Then
         ' Creating a new log
         EventLog.CreateEventSource("MyOldSource", "MyNewLog", System.Environment.MachineName)
         Console.WriteLine("New event log created successfully.")
      End If

Benutzerdefiniertes Protokoll löschen

Verwenden Sie die Löschen -Methode der EventLog -Klasse, um das Ereignisprotokoll zu löschen. Möglicherweise mehr als einer Quelle in ein Ereignisprotokoll zu schreiben. Daher, bevor Sie ein benutzerdefiniertes Protokoll löschen, stellen Sie sicher, dass keine anderen Quellen in dieses Protokoll schreiben.

Im folgenden Codebeispiel wird veranschaulicht wie ein benutzerdefiniertes Protokoll zu löschen:
      Dim logName As String = "MyNewLog"

      If EventLog.SourceExists("MyOldSource", System.Environment.MachineName) Then
         logName = EventLog.LogNameFromSourceName("MyOldSource", System.Environment.MachineName)
         EventLog.DeleteEventSource("MyOldSource", System.Environment.MachineName)
         EventLog.Delete(logName, System.Environment.MachineName)

         Console.WriteLine(logName & " deleted.")
      End If

Ereignis erhalten Benachrichtigungen

Sie können eine Ereignisbenachrichtigung empfangen, wenn ein Eintrag mit einem bestimmten Protokoll geschrieben wird. Implementieren Sie dazu den EntryWritten -Ereignishandler für die EventLog -Instanz ein. Auch legen Sie die EnableRaisingEvents -Eigenschaft auf true fest.

Im folgenden Codebeispiel wird veranschaulicht wie Ereignisbenachrichtigungen empfangen:
      If Not EventLog1.SourceExists("MySource", System.Environment.MachineName) Then
         EventLog1.CreateEventSource("MySource", "Application", System.Environment.MachineName)
         Console.WriteLine("CreatingEventSource")
      End If

      'Enable EnableRaisingEvents to true
      EventLog1.Log = "Application"
						EventLog1.EnableRaisingEvents = True
      EventLog1.WriteEntry("MySource", "EntryWritten event is fired", EventLogEntryType.Information)
   End Sub
Hinweis Sie können nur empfangen Ereignisbenachrichtigungen wenn Einträge auf dem lokalen Computer geschrieben werden. Sie können keine Benachrichtigungen für Einträge, die auf Remotecomputern geschrieben empfangen.


Vollständige Codeauflistung

Imports System.Diagnostics
Imports System.Security
Imports System.ComponentModel
Imports System.IO

Public Class Form1
   Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

   Public Sub New()
      MyBase.New()

      'The Windows Form Designer requires this call.
      InitializeComponent()

      'Add any initialization after the InitializeComponent() call

   End Sub

   'Form overrides dispose to clean up the component list.
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
      If disposing Then
         If Not (components Is Nothing) Then
            components.Dispose()
         End If
      End If
      MyBase.Dispose(disposing)
   End Sub

   'Required by the Windows Form Designer
   Private components As System.ComponentModel.IContainer

   'NOTE: The Windows Form Designer requires the following procedure
   'It can be modified using the Windows Form Designer.  
   'Do not modify it using the code editor.
   Friend WithEvents EventLog1 As System.Diagnostics.EventLog
   Friend WithEvents btnListLog As System.Windows.Forms.Button
   Friend WithEvents btnReadLog As System.Windows.Forms.Button
   Friend WithEvents btnWriteLog As System.Windows.Forms.Button
   Friend WithEvents btnClearLog As System.Windows.Forms.Button
   Friend WithEvents btnCreateLog As System.Windows.Forms.Button
   Friend WithEvents btnDeleteLog As System.Windows.Forms.Button
   Friend WithEvents btnRecNotice As System.Windows.Forms.Button
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
      Me.btnReadLog = New System.Windows.Forms.Button()
      Me.btnWriteLog = New System.Windows.Forms.Button()
      Me.btnClearLog = New System.Windows.Forms.Button()
      Me.btnCreateLog = New System.Windows.Forms.Button()
      Me.btnDeleteLog = New System.Windows.Forms.Button()
      Me.btnRecNotice = New System.Windows.Forms.Button()
      Me.EventLog1 = New System.Diagnostics.EventLog()
      Me.btnListLog = New System.Windows.Forms.Button()
      CType(Me.EventLog1, System.ComponentModel.ISupportInitialize).BeginInit()
      Me.SuspendLayout()
      '
      'btnReadLog
      '
      Me.btnReadLog.Location = New System.Drawing.Point(48, 54)
      Me.btnReadLog.Name = "btnReadLog"
      Me.btnReadLog.Size = New System.Drawing.Size(152, 24)
      Me.btnReadLog.TabIndex = 0
      Me.btnReadLog.Text = "Read Event Logs"
      '
      'btnWriteLog
      '
      Me.btnWriteLog.Location = New System.Drawing.Point(48, 86)
      Me.btnWriteLog.Name = "btnWriteLog"
      Me.btnWriteLog.Size = New System.Drawing.Size(152, 24)
      Me.btnWriteLog.TabIndex = 1
      Me.btnWriteLog.Text = "Write Event Logs"
      '
      'btnClearLog
      '
      Me.btnClearLog.Location = New System.Drawing.Point(48, 118)
      Me.btnClearLog.Name = "btnClearLog"
      Me.btnClearLog.Size = New System.Drawing.Size(152, 24)
      Me.btnClearLog.TabIndex = 2
      Me.btnClearLog.Text = "Clear Logs"
      '
      'btnCreateLog
      '
      Me.btnCreateLog.Location = New System.Drawing.Point(48, 150)
      Me.btnCreateLog.Name = "btnCreateLog"
      Me.btnCreateLog.Size = New System.Drawing.Size(152, 24)
      Me.btnCreateLog.TabIndex = 3
      Me.btnCreateLog.Text = "Create Custom Log"
      '
      'btnDeleteLog
      '
      Me.btnDeleteLog.Location = New System.Drawing.Point(48, 182)
      Me.btnDeleteLog.Name = "btnDeleteLog"
      Me.btnDeleteLog.Size = New System.Drawing.Size(152, 24)
      Me.btnDeleteLog.TabIndex = 4
      Me.btnDeleteLog.Text = "Delete Custom Log"
      '
      'btnRecNotice
      '
      Me.btnRecNotice.Location = New System.Drawing.Point(48, 214)
      Me.btnRecNotice.Name = "btnRecNotice"
      Me.btnRecNotice.Size = New System.Drawing.Size(152, 24)
      Me.btnRecNotice.TabIndex = 5
      Me.btnRecNotice.Text = "Receive Event Notifications"
      '
      'EventLog1
      '
      Me.EventLog1.EnableRaisingEvents = True
      Me.EventLog1.Log = "Application"
      Me.EventLog1.MachineName = System.Environment.MachineName
      Me.EventLog1.SynchronizingObject = Me
      '
      'btnListLog
      '
      Me.btnListLog.Location = New System.Drawing.Point(48, 22)
      Me.btnListLog.Name = "btnListLog"
      Me.btnListLog.Size = New System.Drawing.Size(152, 24)
      Me.btnListLog.TabIndex = 6
      Me.btnListLog.Text = "List Event Logs"
      '
      'Form1
      '
      Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
      Me.ClientSize = New System.Drawing.Size(256, 266)
      Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnListLog, Me.btnRecNotice, Me.btnDeleteLog, Me.btnCreateLog, Me.btnClearLog, Me.btnWriteLog, Me.btnReadLog})
      Me.Name = "Form1"
      Me.Text = "Form1"
      CType(Me.EventLog1, System.ComponentModel.ISupportInitialize).EndInit()
      Me.ResumeLayout(False)

   End Sub

#End Region

   Private Sub btnReadLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReadLog.Click

      'logType can be Application, Security, System or any other Custom Log
      Dim logType As String = "Application"


      'In this case the EventLog constructor is passed a string variable for the log name and 
      'second argument mention the computer name from which you want to read the logs 
      'that you have appropriate permissions for
      Dim ev As New EventLog(logType, System.Environment.MachineName)

      Dim LastLogToShow As Integer = ev.Entries.Count
      If LastLogToShow <= 0 Then
         Console.WriteLine("No Event Logs in the Log :" & logType)
         Exit Sub
      End If

      ' read the last 2 records in the specified log 
      Dim i As Integer
      For i = ev.Entries.Count - 1 To LastLogToShow - 2 Step -1
         Dim CurrentEntry As EventLogEntry = ev.Entries(i)

         Console.WriteLine("Event ID : " & CurrentEntry.EventID)
         Console.WriteLine("Entry Type : " & CurrentEntry.EntryType.ToString())
         Console.WriteLine("Message :  " & CurrentEntry.Message & vbCrLf)
      Next

      ev.Close()

      ' Similarly, you can loop through all the entries in the log by using
      ' the entries collection, as shown in the following commented code.
      ' For Each entry In ev.Entries

      ' Next
   End Sub

   Private Sub btnWriteLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWriteLog.Click
      ' When writing to an event log, you must pass the machine name where 
      ' the log resides.  Here the MachineName Property of the Environment class 
      ' is used to determine the name of the local machine.  Assuming you have 
      ' the appropriate permissions, it is also easy to write to event logs on 
      ' other machines.

      'Check if the Source exists 
      If Not EventLog.SourceExists("MySystemSource", System.Environment.MachineName) Then
         EventLog.CreateEventSource("MySystemSource", "System", System.Environment.MachineName)
      End If
      Dim ev As New EventLog("System", System.Environment.MachineName, "MySystemSource")

      'Writing to system log, in the similar way you can write to other 
      'logs that you have appropriate permissions to write to
      ev.WriteEntry("Warning is written to system Log", EventLogEntryType.Warning, CInt(10001))
      MessageBox.Show("Warning is written to System Log")
      ev.Close()

   End Sub

   Private Sub btnClearLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClearLog.Click
      ' Create an EventLog instance and pass the log name and MachineName on which the log resides.
      Dim ev As New EventLog("Security", System.Environment.MachineName)
      ev.Clear()
      ev.Close()
   End Sub

   Private Sub btnCreateLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateLog.Click
      'Create the source, if it does not already exist.
      If Not EventLog.SourceExists("MyOldSource", System.Environment.MachineName) Then
         'Creating a new log
         EventLog.CreateEventSource("MyOldSource", "MyNewLog", System.Environment.MachineName)
         Console.WriteLine("CreatingEventSource")
      End If
   End Sub

   Private Sub btnDeleteLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteLog.Click
      Dim logName As String = "MyNewLog"

      If EventLog.SourceExists("MyOldSource", System.Environment.MachineName) Then
         logName = EventLog.LogNameFromSourceName("MyOldSource", System.Environment.MachineName)
         EventLog.DeleteEventSource("MyOldSource", System.Environment.MachineName)
         EventLog.Delete(logName, System.Environment.MachineName)

         Console.WriteLine(logName & " deleted.")
      End If

   End Sub


   Private Sub btnRecNotice_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecNotice.Click
      ' Create the source if it does not already exist.
      If Not EventLog1.SourceExists("MySource", System.Environment.MachineName) Then
         EventLog1.CreateEventSource("MySource", "Application", System.Environment.MachineName)
         Console.WriteLine("CreatingEventSource")
      End If

      'Enable EnableRaisingEvents to true
      EventLog1.Log = "Application"
						EventLog1.EnableRaisingEvents = True
      EventLog1.WriteEntry("MySource", "EntryWritten event is fired", EventLogEntryType.Information)
   End Sub

   Private Sub EventLog1_EntryWritten(ByVal sender As Object, ByVal e As System.Diagnostics.EntryWrittenEventArgs) Handles EventLog1.EntryWritten
      If e.Entry.Source = "MySource" Then
         Console.WriteLine("Entry written by my app. Message: " & e.Entry.Message)
      End If
   End Sub

   Private Sub btnListLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListLog.Click
      Dim remoteEventLogs() As EventLog
      'Gets logs on the local machine, give remote machine name to get the logs on the remote machine
      remoteEventLogs = EventLog.GetEventLogs(System.Environment.MachineName)

      Console.WriteLine("Number of logs on computer: " & remoteEventLogs.Length)

      Dim log As EventLog
      For Each log In remoteEventLogs
         Console.WriteLine("Log: " & log.Log)
      Next log
   End Sub
End Class

Hinweis: Sie müssen den Code in Visual Basic 2005 ändern. Standardmäßig erstellt Visual Basic zwei Dateien für das Projekt, wenn Sie ein Windows Forms-Projekt erstellen. Wenn das Formular Form1 benannt ist, werden die beiden Dateien, die das Formular darstellen Form1.vb und Form1.Designer.vb benannt. Schreiben Sie Code, in der Datei Form1.vb. Windows Forms-Designer schreibt den Code in der Datei Form1.Designer.vb. Windows Forms-Designer verwendet das partielle Schlüsselwort, um die Implementierung von Form1 in zwei separate Dateien aufzuteilen. Dieses Verhalten verhindert, dass den Designer generierten Code mit dem Code eingefügt wird.

Weitere Informationen über die neuen Sprachverbesserungen von Visual Basic 2005 die folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
Weitere Informationen zu partiellen Klassen und der Windows Forms-Designer die folgenden MSDN-Website:
http://msdn2.microsoft.com/en-us/library/ms171843.aspx

Ergebnisse überprüfen

Gehen Sie Verfiy folgendermaßen vor um Ihre Ergebnisse:
  1. Erstellen Sie eine neue Windows-Anwendung mithilfe von Visual Basic .NET oder Visual Basic 2005.

    Standardmäßig ist Form1.vb erstellt.
  2. Ersetzen Sie den Code in Form1.vb mit dem Code im Abschnitt "Vollständige Code Listing".
  3. Klicken Sie im Debug auf Starten , um die Anwendung auszuführen.
  4. Aktionen Sie auf Form1.vb .
  5. Um das Ergebnis zu überprüfen, öffnen Sie Server-Explorer. Klicken Sie dazu auf Server-Explorer im Menü Ansicht .
  6. Erweitern Sie den Knoten Server , und erweitern Sie dann Des Computernamens .
  7. Erweitern Sie unter Des Computernamens Ereignisprotokolle .

    Hinweis: Der Knoten Server des Server-Explorers ist nicht in Visual Basic .NET Academic Edition verfügbar. Sie können Windows-Viewer zum Anzeigen der Ergebnisse der Anwendung.
  8. Mit dem Server-Explorer überprüfen, dass alle Schritte in dieser Prozedur ordnungsgemäß durchgeführt werden.

Informationsquellen

Weitere Informationen der folgenden Microsoft-Website:

EventLog-Klasse
http://msdn2.microsoft.com/en-us/library/system.diagnostics.eventlog(vs.71).aspx

Eigenschaften

Artikel-ID: 814564 - Geändert am: Mittwoch, 14. November 2007 - Version: 2.7
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbmt kbvs2005swept kbvs2005applies kbeventservice kbnetwork kbmanaged kbprogramming kbeventlog kbhowtomaster KB814564 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 814564
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com