Mostrando postagens com marcador event viewer. Mostrar todas as postagens
Mostrando postagens com marcador event viewer. Mostrar todas as postagens

sexta-feira, 3 de setembro de 2010

The Scripting Fiad - Apagando Temporários do Outlook e Temporary Internet Files

Olá Rapaziada! Atendendo aos milhões de pedidos (...) dos fãs do meu super hiper blog, vai aqui um script que apaga os temporários dos arquivos .PST do Outlook e também todos os Temporary Internet Files.

No meu caso tive que desenvolver este script pois como eu uso perfil móvel, alguns perfis estavam com 5 ou até 8 Giga. Quando fui ver tinha uns 10 arquivos .TMP com o tamanho dao arquivo de dados do Outlook. Não sei porque ele fez isso, mas tudo indica que é quando dava algum problema, ele passava o Reparador de pasta do outlook e criava esses temporários.

Coloquei tanto na inicialização como no encerramento do Windows, e nunca mais tive esse problema.

Abaixo, o script

'Script para apagar arquivos com extensão .TMP do diretório Outlook - Computadores com Windows XP
'Editado em 03 Setembro 2010 - Adicionado apagar todos os Arquivos temporários da internet
'Desenvolvido por Felipe Gustavo Fiad

On Error Resume Next

Dim sDocsAndSettings
Dim strComputer
Dim oFolder
Dim fso
Dim oFolder1
Dim oFolder2
Dim oFolder3
Dim oSubFolder1
Dim oSubFolder2
Dim oSubFolder3
Dim colSubfolders1
Dim colSubfolders2
Dim colSubfolders3
Dim oFile
Dim userProfile
Dim Windir

' Deleta todos os temporários do outlook para evitar demora ao ler perfil

Set DeleteTmp = CreateObject("Scripting.FileSystemObject")

Set objUsuario = CreateObject("Wscript.Network")
Usuario = objUsuario.Username


DeleteTmp.DeleteFile("C:\Documents and Settings\" & Usuario & "\Outlook\*.tmp")

DeleteTmp.DeleteFile("\\srvadm\profiles$\" & Usuario & "\Outlook\*.tmp")


' Deleta todos os arquivos temporários da internet

strComputer = "."
Set fso = createobject("Scripting.FileSystemObject")

'USER PROFILES
sDocsAndSettings = "C:\Documents and Settings\" ' Probably there is an environment variable or other variable

Set colFolders = fso.GetFolder(sDocsAndSettings) 'Collection of all profiles

For Each oFolder In colFolders.SubFolders
Select Case LCase(oFolder.Name)
Case "admin", "administrator", "newuser", "all users", "default user.original", "localservice", "networkservice"
'DO NOTHING
Case Else
'Set up environment
Set WSHShell = CreateObject("WScript.Shell")
Set fso = createobject("Scripting.FileSystemObject")
userProfile = WSHShell.ExpandEnvironmentStrings("%userprofile%")
Windir = WSHShell.ExpandEnvironmentStrings("%windir%")

'start deleting files
Set oFolder1 = fso.GetFolder(userProfile & "\Local Settings\Temp\")
For Each oFile In oFolder1.files
oFile.Delete True
Next

'Delete folders and subfolders
Set colSubfolders1 = oFolder1.Subfolders
On Error Resume Next
For Each oSubfolder in colSubfolders1
fso.DeleteFolder(oSubFolder), True
Next
Set oFolder2 = fso.GetFolder(userProfile & "\Local Settings\Temporary Internet Files\")
For Each oFile In oFolder2.files
oFile.Delete True
Next
Set colSubfolders2 = oFolder2.SubFolders
For Each oSubfolder in colSubfolders2
fso.DeleteFolder(oSubFolder)
Next
Set oFolder3 = fso.GetFolder(Windir & "\Temp\")
For Each oFile In oFolder3.files
oFile.Delete True
Next
Set colSubfolders3 = oFolder1.Subfolders
For Each oSubfolder in colSubfolders3
fso.DeleteFolder(oSubFolder)
Next

End Select
Next

'Clear memory
Set fso = Nothing
Set oFolder1 = Nothing
Set oFolder2 = Nothing
Set oFolder3 = Nothing
Set oSubFolder1 = Nothing
Set oSubFolder2 = Nothing
Set oSubFolder3 = Nothing
Set colSubfolders1 = Nothing
Set colSubfolders2 = Nothing
Set colSubfolders3 = Nothing
Set oFile = Nothing
Set userProfile = Nothing
Set Windir = Nothing

WScript.Quit

Tá Prontinho! É só recortar e colar. Apenas atente ao perfil do Outlook, pode ser que em sua empresa ele esteja em outra pasta. Espero ter ajudado!!

sexta-feira, 20 de agosto de 2010

Erro na Aplicação de GPO Event 1058

Olá Pessoal! Faz um tempinho que não posto... estava com saudades.. Mas já mudamos, e as coisas estão começando a entrar nos eixos, e eu estou conseguindo dar uma manutenção na nossa rede.

EDITADO EM 27/09/2010 - ATENÇÃO!! ESTE ERRO PODE SER CAUSADO POR PROBELMAS DE REPLICAÇÃO ENTRE CONTROLADORES DE DOMÍNIO!!


LEIA NA INTEGRA ESTE ARTIGO E OS OUTROS DOIS QUE SÃO RELACIONADOS A ESTE PROBLEMA. O LINK PARA O SEGUINTE ENCONTRA-SE NO FINAL DESTE POST.

Hoje me deparei com alguns computadores que estão com o seguinte erro:

Tipo de evento: Erro
Fonte do evento: Userenv
Categoria do evento: Nenhuma
Identificação do evento: 1058
Descrição: O Windows não pode acessar o arquivo gpt.ini para GPO CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=
domínio,DC=com. O arquivo deverá estar em <\\domínio\sysvol\domain\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\gpt.ini>. (Acesso negado. ). Processamento da diretiva de grupo cancelado. Para obter mais informações, consulte o Centro de Ajuda e Suporte em http://support.microsoft.com.
ou
Descrição: O Windows não pode acessar o arquivo gpt.ini para GPO CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=
domínio,DC=com. O arquivo deverá estar em <\\domínio\sysvol\domain\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\gpt.ini>. (Caminho da rede não encontrado. ).
A Microsoft tem a seguinte KB com as possíveis soluções: KB 842804.
Porém, para mim, nenhuma das soluções apresentadas funcionou. Após muito procurar, verifiquei nesta KB uma frase que me guiou para a solução: Esse problema pode ocorrer se o processo do winlogon tenta processar as diretivas de grupo antes da execução dos outros componentes.
Legal! Então eu apliquei a solução de acrescentar a chave de registro:
  1. Clique em Iniciar, em Executar na caixa Abrir, digite regedit e clique em OK.
  2. No Editor do Registro, encontre a seguinte subchave do registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  3. Se a entrada WaitForNetwork estiver faltando, é necessário adicioná-la. Para fazer isto, execute as seguintes etapas:
    1. Clique com o botão direito do mouse na subchave Winlogon, clique em Novo e em Valor DWORD.
    2. Na caixa Nome do valor, digite WaitForNetwork.
  4. Clique com o botão direito do mouse em WaitForNetwork e clique em Modificar.
  5. Na caixa de diálogo Editar valor DWORD, na caixa Dados do valor, digite 1 e clique em OK.
  6. Encerre o Editor do Registro
Em seguida, eu abri o controlador de conexões de rede. Vá em INICIAR>EXECUTAR>Ncpa.cpl
Sabia Dessa? Mais rápido que Painel de controle, Conexões de Rede.

Na própria Janela, vá em AVANÇADO, OPÇÕES AVANÇADAS. Ao abrir vá na aba ORDEM DOS PROVEDORES, e mova REDE MICROSOFT WINDOWS para cima até ser o primeiro provedor da lista. Clique OK.

Depois abra o prompt de comando (prefiro assim para ver possiveis mensagens de erro) e digite GPUPDATE /sync /force /boot

FUNCIONOU!!!

Depois, este erro voltou a acontecer. A Microsoft, na KB que eu comento neste post, dá um hotfix que não resolve algum dos casos.

Já a ponto de chutar o balde, resolvo fazer um teste. Vá no caminho: \\domínio\sysvol\domain\Policies E abra a guia da segurança desta pasta. Tá bom, aos com preguiça de pensar: Abra o windows explorer e digite \\dominio\sysvol\domain, depois clique com o botão direito do mouse, selecione Properties (propriedades) e na guia segurança, adicione os seguintes grupos:

DOMAIN USERS
DOMAIN COMPUTERS

Com as seguintes permissões:

Red & Execute
Read
List Folder Content

(Que geralmente são as padrão).

Rodei vários testes no GPMC e parou de dar o erro, mas estão dando outros que irei pesquisar e postar aqui assim que resolvido.
Espero que essa solução também lhe ajude em partes.

Na minha rede acho que é algo mais sério. Ao dar um "demote" no meu DC secundário, ao recriar ele nao fez as shares NETLOGON e SYSVOL e não replica estes arquivos.

Já fiz várias recomendações de KB's da microsoft, porém sem sucesso. Antes de formatar vou aguardar meus instrutores me darem alguma dica, ou vou formatar e instalar novamente.

Neste DC secundário a única coisa que terei que reconfigurar é o Print Server, Wsus (instalação) e WDS. Acho que vai demorar menos do que achar esta solução, mas vou fazer de tudo para encontrá-la pois me recuso a formatar qualquer computador antes de achar uma solução mais lógica para o problema.

Neste LINK você verá a continuação da solução deste problema, e ao final terá o link para a solução final. Vale a pena dar uma olhada.

segunda-feira, 7 de junho de 2010

Erro NetLogon 5719

Um notebook velho da Dell que tinhamos aqui, foi passado para deixar na recepção, pois tem placa de rede wireless e dá pra rodar alguns programas do escritório.

Depois de formatá-lo e instalar o windows e o office via R.I.S. (ou Windows Deployment Services para as versões mais novas), fui aplicar a instalação dos softwares da empresa via GPO.

De jeito nenhum funcionava. Não aplicava a politica para o computador não importa o que eu fizesse, nem gpupdate /sync /force /boot, conforme pode ser visto no meu primeiro post, neste link.

Então, utilizando o Group Policy Management Console (GPMC) fiz algumas simulações de ambiente e obtive o seguinte erro:

Instalação de software

Instalação de software did not complete policy processing because a system restart is required for the settings to be applied.
Group Policy will attempt to apply the settings the next time the computer is restarted.

Additional information may have been logged. Review the Policy Events tab in the console or the application event

log for events between 14/5/2010 15:57:22 and 14/5/2010 15:57:25.

Localizei então no Event Viewer o erro:

Tipo de evento: Erro
Origem do evento: NETLOGON
Categoria do evento: Nenhum
Identificação do evento: 5719
Data: 9/28/2001
Hora: 16:12:55
Usuário: N/D
Computador Server
Descrição:
Nenhum controlador de domínio do Windows NT ou Windows 2000 está disponível para o domínio . O seguinte erro ocorreu: Atualmente não há servidores de logon disponíveis para executar a solicitação de logon.
Dados: 0000: c00000

Verificando na internet, pude localizar a solução na seguinte KB da Microsoft: KB 310339

Mas para facilitar a vida do visitante já vou postar a solução, que requer editar o registro da maquina local que está dando o problema.

Uma possível causa deste erro é a falta de espaço no buffer de datagrama ou NetBT. Para resolver isto, voce precisará abrir o editor de registro do Windows.

Vamos pressupor que será utilizado o REGEDIT, através do Menu Iniciar>Executar>Regedit.exe

Localize a entrada HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters

Após, clique com o botão direito do mouse em Parâmetros, clique em Novo e em REG_DWORD -ou- No menu Editar, clique em Novo e em REG_DWORD e adicione as novas informações da chave de registro conforme abaixo:

Nome do valor: MaxDgramBuffering Tipo de dados: REG_DWORD Valor: 0x40000

Lembre-se: no registro do windows não vai aparecer 0x400000 mas sim 0x00400000 - o que é a mesma coisa.. você, concentrado no problema, vai perceber que não ficou igualzinho a solução e vai achar estranho. Porém está correto.

A Entrada de seu registro deve ficar assim:



Reinicie o computador e verifique se está funcionando!!

Espero ter ajudado! As vezes as soluções das KB's da Microsoft são meio confusas e alguns sites que postam soluções são pagos, requerem registro, ou seja são chatos pra caramba. Quero sempre poder ajudar. Conforme vão surgindo os problemas mais cabeludos vou postando aqui. Se esta solução não funcionou em seu computador, comente e vamos juntos tentar achar a solução.

Abraços!