Bilgisayarı normal bir kullanıcı olarak oturum açtıysanız ve olayları kaydetmek için özel bir olay günlüğü oluşturmak için Microsoft Visual Studio. NET'i kullanmaya çalışırsanız, aşağıdaki hata iletisini alabilirsiniz:
Mscorlib.dll ' 'System.Security.SecurityException' türünde işlenmeyen bir özel durum oluştu Ek bilgi: kayıt defteri erişimi verilmez istendi.
Bu sorun, oturum açmak için kullandığınız kullanıcı hesabının yeterli izinlere sahip olmadığı için oluşur.
Özel bir olay günlüğü oluşturmak için EventLog.CreateEventSource() yöntemi çağrısı ilk kez özel olay günlük girişini aşağıdaki kayıt defteri alt anahtarının altında oluşturulur:
Bu alt anahtar girdisini oluşturmak için <a0></a0>, yazma izninizin olması gerekir. Ancak, normal bir kullanıcı hesabının yazma iznine sahip değil. Bu nedenle, "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.
Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl söyleyin adımları içerir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756
(http://support.microsoft.com/kb/322756/
)
Windows'da kayıt defterini yedekleme ve geri yükleme
Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın:
Olay günlüğü ' ı sağ tıklatın ve izinler ' i tıklatın. Olay günlüğü için izinler iletişim kutusu görüntülenir.
Gelişmiş ' i tıklatın. <a0>Olay günlüğü için Gelişmiş güvenlik ayarları</a0> iletişim kutusu görüntülenir.
Adı</a0> sütununda, kullanıcı grubu çift tıklatın. Olay günlüğü için izin girdisi iletişim kutusu görüntülenir.
<a0>Değer Ayarla</a0> onay kutusunu seçin <a0>Alt anahtar oluştur</a0> onay kutusunu seçin ve Tamam ' ı tıklatın.
Kayıt Defteri Düzenleyicisi'nden çıkın ve yönetici hesabından oturumu kapatın.
Normal kullanıcı olarak bilgisayarda oturum açın.
Visual Studio. NET'i kullanarak, özel bir olay günlüğü oluşturmayı deneyin ve sonra Visual Studio. NET'in yerleşik bir uygulama kullanarak, bu olay günlüğüne Yaz deneyin.
Bilgisayarım ' ı sağ tıklatın ve sonra Yönet ' i tıklatın. Bilgisayar Yönetimi penceresi görüntülenir.
Sistem Araçları'nın altında Yerel Kullanıcılar ve gruplar'ı genişletin.
Kullanıcılar ' ı sağ tıklatın ve sonra Yeni kullanıcı ' yı tıklatın. Yeni kullanıcı iletişim kutusunda görüntülenir.
Kullanıcı adı kutusuna yeni hesabın adını yazın ve sonra da parola kutusuna hem de Parolayı Onayla ' tek bir parola yazın kutusunu.
NET user gerekir bir sonraki oturum açışında parolasını değiştirmek, onay kutusunu seçin Parola her zaman geçerli olsun denetimi kutusunu ve sonra Oluştur ' u tıklatın.
Yeni kullanıcı iletişim kutusunu kapatmak için Kapat ' ı tıklatın.
Kullanıcının, hata ayıklayıcı kullanıcı grubuna ekleyin:
Yerel Kullanıcılar ve gruplar'in altında kullanıcılar ' ı tıklatın.
Ad sütununda Bilgisayar Yönetimi penceresinin sağ bölmesinde, yeni hesabın adını sağ tıklatın ve sonra da Properties ' i tıklatın. Yeni hesabın Özellikler iletişim kutusu görüntülenir.
Üye sekmesini ve sonra Ekle ' yi tıklatın. <a0>Grupları Seç</a0> iletişim kutusu görüntülenir.
Gelişmiş ' i tıklatın. Seçim grupları iletişim kutusu görüntülenir.
Şimdi Bul ' u tıklatın. Kullanılabilir gruplar Grup Seç</a1> iletişim kutusunda görünür.
Ad (RDN) sütununda, Hata ayıklama kullanıcıları tıklatın ve sonra Tamam ' ı tıklatın.
Seçili gruplar iletişim kutusunda, <a3>Tamam</a3>'ı tıklatın.
Yeni hesabın Özellikler iletişim kutusunda Tamam ' ı tıklatın.
Yönetici hesabından oturumunuzu kapatın.
Bir Windows uygulaması oluşturun:
Oluşturduğunuz "Adım 1 - normal bir kullanıcı hesabı oluşturma" normal bir kullanıcı hesabını kullanarak bilgisayara oturum açın.
Visual Studio .NET'i başlatın.
Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın. <a0>New Project</a0> iletişim kutusu görüntülenir.
Project Types altında Visual C# Projects ' ı tıklatın.
Şablonları altında tıklatın Windows uygulama.
Adı kutusuna, bir projenin adını yazın ve Tamam ' ı tıklatın. Varsayılan olarak, Form1 formu görüntülenir.
Form1 formunu sağ tıklatın ve sonra View Code. Form1.cs dosyası görüntülenir.
Varolan kodu aşağıdaki kodla değiştirin: <a1>
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;
namespace WindowsApplication1
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Diagnostics.EventLog eventLog1;
private System.Windows.Forms.Button button1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
if(!EventLog.SourceExists("Source1"))
{
EventLog.CreateEventSource("Source1","MyLog1");
}
eventLog1.Source = "Source1";
eventLog1.Log = "MyLog1";
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.eventLog1 = new System.Diagnostics.EventLog();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
this.SuspendLayout();
//
// eventLog1
//
this.eventLog1.SynchronizingObject = this;
//
// button1
//
this.button1.Location = new System.Drawing.Point(104, 104);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
eventLog1.WriteEntry("The Button1 Is Clicked");
}
}
}
Form1.cs Kaydet dosyayı kaydetmek için Dosya menüsünden'ı tıklatın.
Projeyi çalıştırın:
Yapı) menüsünde tıklatın Build Solution.
Projeyi çalıştırın. "Belirtiler" bölümünde açıklanan hata iletisini alabilirsiniz.
Not Güvenlik olay günlüğüne kayıt defteri alt anahtarına yazma izni için işletim sistemi olay günlüğü API düzeyinde uygulanır. Varsayılan olarak, özel bir olay günlüğü izin uygulama olay günlüğüne izinleri aynı.
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
329291
(http://support.microsoft.com/kb/329291/
)
ASP.NET uygulamasının yeni OlayKaynağı olay günlüğüne yazmayı denediğinde "kayıt defteri erişimi verilmediğinden istenen" hata iletisi
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:842795
(http://support.microsoft.com/kb/842795/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.