Seu computador tem vários usuários? Que tal fazer a limpeza em todos eles ao mesmo tempo?
Autor: Hernani Nitolo Filho | Publicado: 2015-09-13T11:47:00-07:00




Quando se tem um computador com vários usuários é importante que cada usuário faça a sua parte na manutenção do sistema. Eu administro dois pequenos servidores em clientes diferentes rodando o Windows 7 com o RDS (antigamente chamado de Terminal Services ou TS) desbloqueado. Os servidores em questão centralizam o trabalho de três a quinze funcionários e significa uma mão na roda para uma manutenção preventiva ágil e precisa para o servidor e mais segura para os demais computadores, uma vez que se alguma estação de trabalho parar de funcionar, outro computador poderá substituí-lo bastando apenas gravar um arquivo de conexão RDS com as credenciais do usuário salvas.

Voltando para a manutenção no servidor, uma vez que há vários usuários trabalhando no servidor ao mesmo tempo, há grande acúmulo de arquivos temporários e de navegação em cada um desses perfis. Executar um programa de limpeza como o famoso CCleaner em apenas um usuário, mesmo que seja o administrador, não fará com que todas as pastas dos perfis de usuário sejam limpas. A solução então seria acessar cada conta de usuário e executar o programa de cada sessão.

Cansativo, certo? Com dois ou três usuários já é uma tarefa chata, imagina com quinze ou mais?

Você também pode pensar "Se eu criar uma tarefa agendada eu não tenho que me preocupar com isso". Basicamente será necessário criar uma tarefa para cada usuário ou a situação será a mesma. Você pode fazer o trabalho uma vez só, mas será igualmente cansativo, além disso existem os riscos de haver problemas de execução do agendamento e verificar uma por uma também deixa tudo ruim. Deixa pra lá.

Pesquisando algumas ferramentas de prompt de comando que ajudam a automatizar tarefas, eu resolvi criar, do modo mais simples, um arquivo de lote (.bat) que executa o mesmo programa e seus parâmetros para todos os usuários ainda na minha própria sessão, através do comando RUNAS ("RUN AS", não confundam com as Runas esotéricas).

Neste comando é possível executar com comando ou abrir um programa assumindo a identidade de outro usuário, podendo inclusive salvar seu login e senha para outro acesso sem pedir autenticação.



As opções e parâmetros são muitos, mas vamos trabalhar com o que interessa. Você pode verificar as informações de ajuda para praticamente qualquer comando do MS-DOS digitando " /?" no prompt.

Repetindo, a minha dica aqui é rodar o programa CCleaner em um sistema operacional Windows com vários usuários realizando uma limpeza mais completa do sistema.



PRIMEIRO: Tenha em mente que o CCleaner tem parâmetros de linha de comando. Eles estão sempre relacionados a limpeza de arquivos, nunca a ferramenta de registro. No meu tutorial vamos utilizar o parâmetro /auto&nbsp;que instrui o CCleaner a executar a limpeza automaticamente, sem abrir a janela (aparece o ícone animado perto do relógio, como mostrado na primeira imagem desta postagem).



SEGUNDO: Como isso faz o CCleaner trabalhar de forma mais abrangente, eu chamei a tarefa carinhosamente de "Super CCleaner", que é a forma que vou apresentar aqui. Você pode chamar do que quiser.



TERCEIRO: É importante (ou no mínimo recomendável) você ter privilégios administrativos para criar e executar esta tarefa. A execução dela exigirá que você tenha as informações de login e senha de todos os usuários que o programa conectará para agir. Sem isso a idéia não tem sentido.



Agora, abra o bloco de notas e crie um novo documento com as informações a seguir:


@echo off
@echo "Super CCleaner. Realizando limpeza de arquivos de todos os usuários do sistema"
pause
@echo "Acessando a pasta do programa"
cd "\Program Files\CCleaner"
@echo "o comando a seguir irá chamar o CCleaner para fazer a limpeza em sua própria sessao"
"CCleaner.exe /auto"
@echo "O(s) comando(s) a seguir ira(ao) chamar o CCleaner para limpar a sessão dos demais usuarios"
runas /user:(usuario1) /savecred "CCleaner.exe /auto" &nbsp;
runas /user:(usuario2) /savecred "CCleaner.exe /auto" &nbsp;
runas /user:(usuario3) /savecred "CCleaner.exe /auto" &nbsp;
runas /user:(usuarioN) /savecred "CCleaner.exe /auto"&nbsp;
@echo "Limpeza concluída"
pause
exit

Salve o arquivo criado com o nome de sua preferência (e referência, já que você terá que se lembrar para quê ele serve) com a extensão .cmd ou .bat. Lembre-se de alterar o tipo de arquivo na janela de diálogo para "todos os arquivos"





Mais três observações:

O caminho original do executável para um sistema de 32bits é esse apresentado acima. Se você usa Windows 64bits altere o nome do executável no caminho para CCleaner64.exe;&nbsp;Se você alterou o caminho da instalação, verifique a localização atual e altere no arquivo;

As pausas e os comentários são opcionais, tem apenas a função de informar os passos executados pelo arquivo. Os curiosos poderão querer ver o progresso do arquivo em execução em um primeiro momento. Depois, basta retirar as linhas de pause e os comentários (os textos iniciados em "@echo", exceto o primeiro) e rodar o programa direto;

Na primeira execução, é necessário digitar a senha para cada usuário informado. O parâmetro /savecred&nbsp;instrui o Windows a armazenar as credenciais. As execuções seguintes não pedirão senha novamente.



Ok, uma quarta observação:

MUITO CUIDADO COM A OPÇÃO "ARQUIVOS E PASTAS PERSONALIZADAS". Saiba bem o que será eliminado e se tiver dúvidas desmarque esta opção.



Agora uma dica importante:

Você pode criar uma cópia deste arquivo e editar os comandos retirando o parâmetro /auto&nbsp;para que cada janela se abra e assim você poder definir o que deve ser limpo em cada sessão de usuário. Isso é bom para a primeira utilização ou para ajustes periódicos. Você não pode selecionar a opção "Senhas de rede" na seção Windows Explorer do programa em seu próprio usuário, do contrário você terá que digitar as senhas dos usuários todas as vezes que rodar o programa para os demais usuários. &nbsp;Também deve-se ter em mente se os outros usuários precisam ter alguma credencial salva para acessar caminhos de rede ou pastas compartilhadas entre usuários antes de selecionar esta opção para todos. Não se esqueça de salvar o arquivo com um nome que defina a função deste executável.



Apesar de o comando ter as credenciais de todos os usuários, execute-o como administrador. Assim, se o Windows estiver com o Controle de Conta de Usuário (UAC) ativado, ele não irá ficar te perguntando várias vezes se deseja executar o programa.



É isso. Salve tudo e execute o programa. O conteúdo em um único arquivo deixa a edição e manutenção muito mais fácil e também mais simples de se criar uma tarefa agendada com um único comando. Eu sempre o utilizo para gerenciar o backup dos sistemas que administro para evitar ao máximo de salvar arquivos inúteis. É bom observar também que não é boa idéia fazer limpeza de arquivos temporários a toda hora ou todos os dias, já que o cache tem a função de agilizar o carregamento de programas e páginas e uma limpeza constante faria com que o computador consuma uma banda maior toda vez que carregar as mesmas páginas de Internet e mais processamento para carregar programas de uso freqüente e isso tira a impressão de que o computador está mais rápido.



Espero que minha dica sirva para ajudar a todos e estou aberto a qualquer sugestão e pronto para atender a qualquer dúvida. Abraço a todos!