Microsoft identificou um erro no actualização de segurança MS03-32 recente para o patch de segurança para o Internet Explorer quando aplica o patch num computador que esteja a executar o Microsoft Windows XP e Microsoft ASP.NET 1.0 instalados. Este patch pode ser instalado manualmente ou através da obtenção recentes actualizações críticas a partir do Windows Update Web site.
Depois de instalar o patch, recebe a seguinte mensagem de erro quando é efectuado um pedido para o ASP.NET:
Aplicação de servidor não está disponível
Este erro afecta apenas computadores com o ASP.NET 1.0 no Windows XP. Não afecta computadores que executem o Microsoft Windows 2000 ou Microsoft Windows Server 2003. Este erro também não afecta computadores que executem o Windows XP e ter o ASP.NET 1.1 instalado.
A tabela seguinte lista os sistemas operativos e as versões do Microsoft .NET Framework que são afectadas por este erro:
Reduzir esta tabelaExpandir esta tabela
| .NET framework versão | Sistema operativo | Afectados |
|---|
| 1.0 | Windows 2000 Professional | Não |
| 1.0 | Windows 2000 Server | Não |
| 1.0 | Windows XP Professional | Sim |
| 1.0 | Windows Server 2003 | Não |
| 1.1 | Windows 2000 Professional | Não |
| 1.1 | Windows 2000 Server | Não |
| 1.1 | Windows XP Professional | Não |
| 1.1 | Windows Server 2003 | Não |
Para resolver este erro, execute o ficheiro batch que é descrito na secção "Ficheiro de secção" deste artigo. Este ficheiro batch efectua o seguinte:
- Pára o IIS e os serviços de estado do ASP.NET.
- Elimina e, em seguida, recria a conta ASPNET utilizando uma palavra-passe temporária conhecida.
- Utiliza o comando runas do Windows para iniciar um executável que cria um perfil de utilizador ASPNET. Um perfil de utilizador ASPNET resolve o problema.
- Reregisters ASP.NET. Este passo cria uma nova palavra-aleatória passe para a conta e aplica-se ASP.NET acesso controlo predefinições para a conta.
- Reiniciar o Microsoft Internet Information Services (IIS) serviço.
O ficheiro batch contém palavra-uma hard-coded temporária passe de "1pass@word". Vai ser necessário introduza esta palavra-passe para o comando
runas quando executa o ficheiro batch. Quando tiver concluído o comando
runas , é criado novamente a palavra-passe da conta ASPNET utilizando um valor aleatório forte.
Notas importantes
- O ficheiro batch poderá falhar se a palavra-passe codificados não cumprir os requisitos de complexidade palavra-passe no seu ambiente. Se este problema ocorre, pode alterar a palavra-passe para outro valor adequado ao seu ambiente.
- Se tiver adicionado definições de controlo de acesso personalizadas ou permissões de conta de base de dados para a conta ASPNET, terá de recriar estas definições ou permissões depois de concluído este ficheiro batch. Isto acontece porque um novo identificador de segurança (SID) é atribuído a esta conta quando a conta é criada novamente.
- Se estiver a executar o processo de trabalho do ASP.NET utilizando uma conta personalizada é diferente da conta ASPNET, não execute este ficheiro batch. Em vez disso, tem de iniciar sessão no computador interactivamente ou tem de utilizar o comando runas com essa conta personalizada. Este procedimento cria um perfil de utilizador para a conta personalizada.
Para utilizar o ficheiro batch, siga estes passos.
Nota A conta tem de ser um membro do grupo Administradores.
- Inicie o bloco de notas. Verifique se o Moldar o texto está activado.
- Cole o código de ficheiro batch no bloco de notas.
- Guarde o ficheiro como c:\fixup.cmd .
- Clique em Iniciar e, em seguida, clique em Executar .
- Escreva cmd.exe e, em seguida, prima ENTER.
- Na linha de comandos, escreva c:\fixup.cmd e, em seguida, prima ENTER.
- Quando for pedido para uma palavra-passe, escreva 1pass@word .
Aparece uma segunda janela de linha de comandos. - Depois de aplicar o patch, escreva exit na segunda janela de linha de comandos e, em seguida, prima ENTER.
- Se tiver configurado anteriormente definições de controlo de acesso personalizadas ou permissões de conta de base de dados para a conta ASPNET, tem de aplicar agora novamente estas definições.
Ficheiro batch
REM Start Batch File
REM This batch file addresses issues that exist with the MS03-32
REM Security Update when you run ASP.NET 1.0 on Windows XP.
REM If you have any other configuration, do not run this file.
@echo off
if exist %SystemRoot%\microsoft.net\framework\v1.1* goto v11_installed
REM Change to the .NET Framework installation directory.
cd /d %SystemRoot%\microsoft.net\framework\v1.0.3705
echo "Stopping IIS."
iisreset /stop
echo "----------------------"
echo "Stopping the ASP.NET state service if it is running."
net stop aspnet_state
echo "----------------------"
echo "Deleting the ASPNET account."
net user ASPNET /delete
echo "----------------------"
echo "Creating a new ASPNET account with a temporary password."
net user ASPNET 1pass@word /add
echo "----------------------"
echo "Launching runas to create a profile."
echo "You see a command window being created."
echo "Type 1pass@word when you are prompted for the temporary password."
runas /profile /user:ASPNET cmd.exe
echo "----------------------"
echo "Reregistering ASP.NET and the ASPNET account."
aspnet_regiis -i
echo "A new random password has been autocreated for the ASPNET account."
echo "----------------------"
echo "Restarting IIS."
iisreset /start
echo "----------------------"
echo "The workaround has been applied."
echo "Try to access an ASP.NET page."
echo "If you have any custom access controls settings for the ASPNET account,"
echo "you must re-create them."
echo "If you were running the ASP.NET state service, you must restart it."
goto done
:v11_installed
echo "Version 1.1 appears to be installed. Do not run this file."
:done
REM End of batch file.
A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.