Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Se você efetuar logon em um computador como um usuário normal, e se você tentar usar o Microsoft Visual Studio .NET para criar um log de eventos personalizado para registrar eventos, você receberá a seguinte mensagem de erro:
Ocorreu uma exceção sem tratamento do tipo 'System.Security.SecurityException' em mscorlib.dll Obter informações adicionais: solicitada acesso ao registro não é permitido.
Esse problema ocorre porque a conta de usuário que você usou para efetuar logon não tem permissões suficientes.
Na primeira vez que você chamar o método EventLog.CreateEventSource() para criar um log de eventos personalizado, a entrada de log de eventos personalizado é criada sob a seguinte subchave do Registro:
Para criar esta entrada subchave, você deve ter permissão para gravar. No entanto, a conta de usuário regular não tem permissão para gravar. Portanto, você receber a mensagem de erro mencionada na seção "Sintomas".
importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756
(http://support.microsoft.com/kb/322756/
)
Como fazer backup e restaurar o registro no Windows
Para contornar este problema, use um dos seguintes métodos:
Conceder permissão para criar um log de evento personalizado
Instalar o log de eventos personalizado como um administrador
Clique com o botão direito do mouse em EventLog e, em seguida, clique em permissões . As permissões para o log de eventos de caixa de diálogo é exibida.
Clique em Avançadas . A caixa de diálogo Configurações de segurança avançadas para log de eventos será exibida.
Na coluna nome , clique duas vezes o grupo usuários . A caixa de diálogo Entrada de permissão para log de eventos é exibida.
Marque a caixa de seleção Definir valor , selecione a caixa de seleção Criar subchave e, em seguida, clique em OK .
Feche o Editor do Registro e, em seguida, faça logoff da conta do administrador.
Faça logon no computador como um usuário normal.
Tente criar um log de evento personalizado usando o Visual Studio. NET e tente gravar este log de eventos usando um aplicativo que é criado no Visual Studio .NET.
Clique com o botão direito do mouse Meu computador e clique em Gerenciar . A janela Gerenciamento do computador é exibida.
Em System Tools , expanda usuários e grupos locais .
Clique com o botão direito do mouse em Users e clique em Novo usuário . A caixa de diálogo Novo usuário é exibida.
Digite o nome da nova conta na caixa nome do usuário e, em seguida, digite uma senha única na caixa senha e Confirmar senha caixa.
Limpar o usuário deve alterar a senha no próximo logon caixa de seleção, selecione a senha nunca expira caixa de seleção e em seguida, clique em criar .
Clique em Fechar para fechar a caixa de diálogo novo usuário .
Adicione o usuário ao grupo usuários do depurador:
Em usuários e grupos locais , clique em usuários .
Na coluna nome no painel à direita da janela Gerenciamento do computador, clique com o botão direito do mouse no nome da nova conta e, em seguida, clique em Propriedades . A caixa de diálogo de propriedades da nova conta aparece.
Clique na guia Membro de e, em seguida, clique em Adicionar . A caixa de diálogo Selecionar grupos será exibida.
Clique em Avançadas . A caixa de diálogo Selecionar grupos será exibida.
Clique em Localizar agora . Os grupos disponíveis aparecem na caixa de diálogo Selecionar grupos .
Na coluna Nome (RDN) , clique em Usuários depuradores e, em seguida, clique em OK .
Na caixa de diálogo Grupos selecionados , clique em OK .
Na caixa de diálogo Propriedades da nova conta, clique em OK .
Faça logoff da conta do administrador.
Crie um aplicativo do Windows:
Fazer logon no computador usando a conta de usuário regular que você criou em "Etapa 1 - criar uma conta de usuário regular".
Inicie o Visual Studio NET..
No menu arquivo , aponte para novo e, em seguida, clique em Project . A caixa de diálogo New Project é exibida.
Em Project Types , clique em projetos translation from VPE for Csharp Visual .
Em modelos , clique em Windows Application .
Na caixa nome , digite o nome de um projeto e, em seguida, clique em OK . Por padrão, o formulário de Form1 aparece.
Clique no formulário de Form1 com o botão direito e clique em Exibir código . O arquivo Form1.cs aparece.
Substitua o código existente com o código a seguir:
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");
}
}
}
No menu arquivo , clique em Salvar Form1.cs para salvar o arquivo.
Execute o projeto:
No menu Build , clique em Build Solution .
Execute o projeto. Você receberá a mensagem de erro mencionada na seção "Sintomas".
Observação A segurança de permissão para gravar a subchave de registro de log de eventos é imposta em nível de API de log de eventos no sistema operacional. Por padrão, as permissões de log de eventos personalizado são mesmas que as permissões de log de eventos do aplicativo.
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
329291
(http://support.microsoft.com/kb/329291/
)
Mensagem de erro "Solicitou acesso ao registro não é permitido" ao aplicativo ASP.NET tenta gravar novo EventSource no log de eventos
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 842795
(http://support.microsoft.com/kb/842795/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhorar essa informação?
Para proteger sua privacidade, não inclua informações de contato em seus comentários.
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.