Artigo: 197964 - Última revisão: quinta-feira, 22 de Março de 2007 - Revisão: 7.7

Não é possível aceder a ficheiros remotos com FileSystemObject

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.
importante Este artigo contém informações sobre como editar a metabase. Antes de editar a metabase, verifique se tem uma cópia de segurança que pode restaurar se ocorrer um problema. Para obter informações sobre como efectuar este procedimento, consulte o tópico de ajuda "configuração de cópia de segurança/restauro" na consola de gestão da Microsoft.
Expandir tudo | Reduzir tudo

Sintomas

Quando acede a recursos remotos com FileSystemObject através do ASP (Active Server Pages), ocorre um dos seguintes erros:
Erro de runtime do Microsoft VBScript '800a004c' caminho não encontrado
Erro de runtime do Microsoft VBScript '800a0046' permissão negada
Server object error ' ASP 0177: 800a0046 ' Server.CreateObject falhou

Resolução

aviso Se editar a metabase incorrectamente, poderá provocar problemas graves que poderão forçar a reinstalação qualquer produto que utiliza a metabase. Microsoft não garante que problemas resultantes da incorrecta editar a metabase podem ser resolvidos. Edite a metabase por sua conta e risco.

Nota Sempre uma cópia da metabase antes de o editar de segurança.

Utilize os seguintes passos para resolver este problema:
  1. Abra o Gestor de utilizadores para domínios no computador remoto e crie uma conta denominada IUSR_ComputerName (do servidor Web). Atribua essa conta a mesma palavra-passe é utilizada em IUSR_ComputerName no servidor Web. Se o Web site está em execução no espaço de memória separado, tem de utilizar a conta IWAM_nomecomputador em vez da conta IUSR_ComputerName.

    Nota : Se não souber a palavra-passe de IUSR_ NomeComputador e tem de atribuir uma nova palavra-passe a este utilizador. Em seguida, tem de utilizar User Manager for Domains alterar a palavra-passe para a conta IUSR_ nomedocomputador no servidor Web. Também tem de utilizar o utilitário Adsutil.vbs da linha de comandos para alterar a palavra-passe na metabase. Para tal, abra uma linha de comandos e mude de directórios para Winnt\System32\Inetsrv\Adminsamples (para Windows NT 4.0) ou Inetpub\Adminscripts (para o Windows 2000). Em seguida, escreva o seguinte para alterar a palavra-passe para a conta IUSR_ nomedocomputador :
    cscript adsutil.vbs set w3svc/anonymoususerpass "palavra-passe"
    Ou, para obter a palavra-passe para o tipo de conta IWAM_nomecomputador seguinte:
    cscript.exe adsutil.vbs get w3svc/wamuserpass
    notas
    • Se estiver a utilizar um controlador de domínio do Windows 2000 ou um controlador de domínio principal do Windows NT 4.0 (PDC, Primary Domain Controller), tem de utilizar uma conta de domínio em vez de utilizar a conta IUSR_ NomeComputador . Poderá ter de aguardar que o domínio para sincronizar antes dessa conta fica disponível.
    • Quando tenta obter a palavra-passe no Windows NT 4.0, a palavra-passe aparece texto simples como. No entanto, a palavra-passe aparece como asteriscos no Windows 2000 e no Windows Server 2003. Para obter a palavra-passe em texto simples no Windows 2000 e no Windows Server 2003, tem de modificar o ficheiro Adsutil.vbs para que o ficheiro apresenta a palavra-passe unmasked. Para o fazer, siga estes passos:
      1. No bloco de notas, abra o Adsutil.vbs.
      2. No menu Editar , clique em Localizar .
      3. Tipo IsSecureProperty = True e, em seguida, clique em Localizar seguinte .
      4. Alterar "IsSecureProperty = True"para"IsSecureProperty = False".
      5. Guardar as alterações para o ficheiro Adsutil.vbs e saia do bloco de notas.
  2. Crie uma partilha no servidor remoto designado "ficheiros" e atribua permissões de leitura/escrita para essa partilha para o utilizador que criou.
  3. Utilize o Gestor de serviços Internet do IIS 4.0 para alterar o método de autenticação para acesso anónimo e sincronizar a palavra-passe com a conta que criou no passo anterior:
    • Abra o Gestor de Internet de serviços.
    • Clique com o botão direito do rato a aplicação Web e seleccione Propriedades .
    • Seleccione o separador Segurança de directórios .
    • Seleccione ' Editar ' da secção "Enable Anonymous Access and Authentication Control".
    • Da caixa de diálogo que aparece, certifique-se de que a opção "Permitir acesso anónimo" está seleccionado e, em seguida, clique em Editar .
    • Anule a opção "Activar a palavra-passe sincronização automática de" opção e escreva o username(IUSR_ComputerName) e a palavra-passe.
  4. Criado uma página ASP o projecto da Web para escrever um ficheiro de texto como o seguinte:
       <%
       Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
       Set MyFile =
       ScriptObject.OpenTextFile("\\<ComputerName>\files\myfile.txt", 8,true)
    
       MyFile.WriteLine "*** Write file test ***"
       Myfile.writeline "     file was written to at: " & Now
       Myfile.writeline " "
       MyFile.Close
       %>
  5. Guardar a página e pré-visualizar no browser.
  6. O código ASP criado com êxito um ficheiro de texto localizado aqui:
       \\<ComputerName>\files\myfile.txt.
    
    					

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

O utilizador autenticação tem de ter o NTFS adequado e partilhar as permissões para o recurso que está a ser acedido. Se utilizar o acesso anónimo, o utilizador que autentica será a conta IUSR_ NomeComputador . Se necessitar de aceder ao recurso através de um utilizador autenticado, pode apenas utilizar autenticação básica. NTLM e autenticação integrada do Windows (Windows 2000) não é possível aceder a recursos remotos devido a um problema de delegação. Consulte o seguinte artigo na Microsoft Developer Network (MSDN) para obter mais informações:
http://msdn.microsoft.com/en-us/library/ms954229.aspx (http://msdn.microsoft.com/en-us/library/ms954229.aspx)
Num ambiente do Windows 2000, pode activar a delegação e utilizar a autenticação integrada do Windows para o site. Para obter mais informações sobre como utilizar a delegação no Windows 2000, consulte o seguinte artigo sobre o Web site da Microsoft TechNet:
http://www.microsoft.com/downloads/details.aspx?familyid=99b0f94f-e28a-4726-bffe-2f64ae2f59a2 (http://www.microsoft.com/downloads/details.aspx?familyid=99b0f94f-e28a-4726-bffe-2f64ae2f59a2)

Referências

Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
189408  (http://support.microsoft.com/kb/189408/ ) CORRECÇÃO: O ASP não consegue aceder a ficheiros de rede em IIS 4.0 e IIS 5.0
276011  (http://support.microsoft.com/kb/276011/ ) Erro 800a0035 quando utiliza o objecto FileSystemObject

A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Serviços de informação Internet 5.0 da Microsoft
Palavras-chave: 
kbmt kbbug kbcodesnippet kberrmsg kbfix kbfso kbiis500fix kboswin2000fix kbprb kbscript kbsecurity KB197964 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: 197964  (http://support.microsoft.com/kb/197964/en-us/ )