Artigo: 891864 - Última revisão: segunda-feira, 3 de Dezembro de 2007 - Revisão: 2.1

CORRECÇÃO: Recebe uma mensagem de erro "Privilégio não mantido" quando executa operações de WMI utilizando o espaço de nomes System.Management no .NET Framework 1.0 Service Pack 3

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.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. Está a executar uma aplicação baseada no .NET Framework no Microsoft .NET Framework 1.0 Service Pack 3 (SP3). Executar alguns gestão do Windows Instrumentation (WMI) operações que requerem privilégios a serem activados. Por exemplo, encerrar ou reiniciar um computador local utilizando System.Management espaço de nomes. Ou, pode chamar o método ManagementEventWatcher.Start .

Neste cenário, receberá a seguinte mensagem de erro:
Ocorreu uma excepção não processada do tipo 'System.Management.ManagementException' no system.management.dll informações adicionais: privilégio não mantido.
Este comportamento ocorre apenas num computador local. O comportamento pode ocorrer mesmo se a propriedade ConnectionOptions.EnablePrivileges estiver definida como true .

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do .NET Framework 1.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version        Size    File name
   -----------------------------------------------------------
   07-Jan-2005  04:09  1.0.3705.6031  30,720  Wminet_utils.dll  

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos do Microsoft listados na secção "Aplica-se a".

Mais Informação

Passos para reproduzir o comportamento

To reproduce this problem, build and then run the following Microsoft Visual Basic .NET code example on a Microsoft Windows XP-based computer that has the .NET Framework 1.0 Service Pack 3 (SP3) installed.
Imports System.Management

Module Module1

    Sub Main()
        Dim result As Int32
        result = 0
        Dim scope As New Management.ManagementScope("\\.\root\cimv2")

        scope.Options.EnablePrivileges = True
        scope.Connect()
        Dim objQuery As New System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem")

        Dim objSearcher As New Management.ManagementObjectSearcher(scope, objQuery)

        Dim objCol As Management.ManagementObjectCollection = objSearcher.Get()
        Dim mo As Management.ManagementObject
        For Each mo In objCol

            Dim methodArgs As String() = {"6", "0"} //Forced Reboot

            mo.InvokeMethod("Win32Shutdown", methodArgs)

            Console.WriteLine(mo.ToString())

        Next

    End Sub

End Module
You receive the error message that is mentioned in the "Symptoms" section.

Referências

Se a aplicação estiver a executar no Microsoft .NET Framework 1.1 Service Pack 1 (SP1), consulte o seguinte artigo na Microsoft Knowledge base:
891865  (http://support.microsoft.com/kb/891865/ ) CORRECÇÃO: Recebe uma mensagem de erro "Privilégio não mantido" quando executa operações de WMI utilizando o espaço de nomes System.Management no .NET Framework 1.1 Service Pack 1

A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0 Service Pack 3
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbbug kberrmsg kbcode kbfix KB891864 KbMtpt
Tradução automáticaTradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 891864  (http://support.microsoft.com/kb/891864/en-us/ )