Script VB Fazer Recovey do erro de Papel de Parede

É muito comum ocorrer erro de Active Desktop quando você aplica política de papel de parede por GPO e o usuário acaba desligando o computador incorretamente. Para resolver o problema alguns até mesmo chegam a recriar o perfil do usuário. Segue um script que corrige esse problema. Você deve salva-lo em .vbs e executá-lo na estação de trabalho com problema. O script deve ser executado apenas uma vez, caso o problema ocorrer novamente, você deve executá-lo novamente.


‘***************************************************************************
‘ WMI Script – ActiveDesktop.vbs

‘ Corrige error en el active desktop

‘***************************************************************************
Rem Definiciones
Dim objShell, RegLocate, RegLocate1
Const EWX_LOGOFF   = 0
Rem Librerias
Set objShell = WScript.CreateObject(“WScript.Shell”)
Set objShell = CreateObject(“Wscript.Shell”)
On Error Resume Next
Rem Cambia el valor del DWORD (Clave del registro)
RegLocate = “HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\DeskHtmlVersion”
objShell.RegWrite RegLocate,”0″,”REG_DWORD”
Rem Advierte del deslogeo
intReturn = objShell.Popup(“Se va a cerrar la sesion para guardar los cambios, presione aceptar”, _
20, “Auto LogOff”, wshYesNoDialog + wshQuestionMark)
If intReturn = wshYes Then
For Each objPC In GetObject(“winmgmts:{(shutdown)}”).ExecQuery(“Select * from Win32_OperatingSystem”)
objPC.Win32Shutdown LOGOFF + FORCE
Next
ElseIf intReturn = wshNo Then
wscript.Quit
Else
Rem Si no responde se forza el deslogeo
For Each objPC In GetObject(“winmgmts:{(shutdown)}”).ExecQuery(“Select * from Win32_OperatingSystem”)
objPC.Win32Shutdown LOGOFF + FORCE
Next
End If
WScript.Quit

Crédito : http://www.msitpro.com.br/?p=283

Descobrir Usuário Logado na Máquina Através do Nome da Máquina

Vamos mostrar uma prática comum no dia a dia. Precisamos verificar se um endereço de IP está sendo usado no momento, para isso executamos o PING no endereço. Exemplo, vamos pingar o endereço IP 192.168.112.170.

Já que respondeu vamos descobrir agora qual o nome DNS desse computador no domínio executando nslookup.

Agora vamos mais a fundo, quem será que está logado nessa estação de trabalho? Para isso vamos utilizar o PSLOGGEDON.

Você vai ter que executar o download da ferramenta, que é bem leve (1.60MB), para isso visite: http://technet.microsoft.com/en-us/sysinternals/bb897545.aspx.

Depois é só executa-la uma vez e acessar o cmd para trabalhar com o comando. Estou usando o powershell por costume, mas pode ser o prompt de comando, que alguns chamam de DOS. :)

Baseado no número do computador que queremos descobrir o usuário logado digitamos:

Psloggedon nome_computador -l -x

Vejamos o help do aplicativo para entender melhor.

O que fizemos foi buscar quem está logado localmente sem mostrar a opção logon times (que pode trazer informações desnecessárias).

Esse é o método mais prático, mas se você precisa buscar pelo nome de usuário também é possivel digitando:

Psloggedon nome_usuario -l -x

Note que você tem que ter permissão nas máquinas do domínio para executar essa operação, algumas ele pode não abrir, mas veja que ele conseguiu descobrir a máquina “TIAGO”.

Se você não usar a opção “–l” ele busca logins remotos também.

Crédito : http://www.portaltecnologia.net/2010/05/07/psloggedon-como-descobrir-o-usuario-logado-em-uma-estacao/

Bloqueio de Sub-Rede via Iptables usando IPRANGE

#!/bin/sh
# ifconfig wlan0 up
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -s 0.0.0.0/0 -m iprange –dst-range 192.168.0.1-192.168.0.253 -j DROP


Alterar Contêiner (OU) Padrão Computadores do AD

Quando adicionamos um computador ao nosso domínio, a conta dele é automaticamente colocada no contêiner “Computadores” ( Computer ), para alterarmos o contêiner padrão das contas de computadores recém adicionadas utilizamos um simples comando no Domain Controller redircmp ou=MeusComputadores,dc=contoso,dc=local
Lembrando que, se nossa OU for filha de outra OU temos que passar o caminho completo
redircmp ou=filha,ou=pai,dc=dominio,dc=extensao , é possível também alterar outros tipos de conteiner padrões leia mais sobre Redirecionamento de Contêiners

Créditos : http://support.microsoft.com/kb/324949/pt-br

Resetar Permissões NFTS

  • Pelo Explorer, vá na pasta em questão, comigo era todo o drive D:. Vá em Propriedades, aba “Segurança”, botão “Avançadas”, aba “Proprietário”, botão “Editar” e altere o proprietário dos arquivos para o usuário atual (tem que ser administrador da máquina). Clique em “Aplicar” e aguarde o término do processo.
  • Feito isso, abra o prompt de comando em Iniciar, Executar, escreva cmd e tecle enter.
  • digite o caminho da pasta ou o drive inteiro que você quer resetar as permissões. No meu caso digitei D: e teclei enter. Outro exemplo seria D: e depois cd Fotos. Poderia ser também D: e depois cd “Meus documentos”, nesse último caso tem que usar aspas por causa do espaço entre as palavras “Meus” e “documentos”. Dica: Se digitar as primeiras letras do nome da pasta e clicar TAB, o Windows completa pra você.
  • Quando estiver no drive ou na pasta correta, digite icacls * /T /Q /C /RESET

Créditos : http://dicasdoromuleta.blogspot.com.br/2012/04/resetar-permissoes-ntfs-em-arquivos-e.html

Script Backup Diário em Disco

[root@sysweb bin]# cat backup-disco.sh
#!/bin/bash
# Script de Backup em Disco
# Backup na Pasta /backup
# Qualityinfo Solucoes em Informatica
# Marlo Luiz Binsfeld
# variaveis
data=`date +%d%m%Y`
hora=`date +%H%M`
bkpant=`/sbin/funcoeszz.sh zzdata hoje – 5|cut -c 1,2,4,5,7,8,9,10`
# apaga backup anterior a 5 dias
/bin/rm -f /backup/etc-$bkpant-*.tar.gz
/bin/rm -f /backup/www-$bkpant-*.tar.gz
/bin/rm -f /backup/mysql-$bkpant-*.tar.gz
# cria arquivos compactados
cd /backup
/bin/tar -zcvf etc-$data-$hora.tar.gz /etc
/bin/tar -zcvf www-$data-$hora.tar.gz /var/www/html
/bin/tar -zcvf mysql-$data-$hora.tar.gz /var/lib/mysql

Script Backup FTP Diário

[root@sysweb bin]# cat backup-ftp-hora.sh
#!/bin/bash
#
# Dados do arquivo de backup
ARQUIVO=”sysweb-hora.tar.gz”
DIRETORIOS=”/var/lib/mysql”
# Dados do servidor FTP
HOST_FTP=”ftp.qualityinfo.inf.br”
USUARIO_FTP=”user”
SENHA_FTP=”********”
# Cria o arquivo .tar.gz no /tmp
cd /tmp
tar zcf /tmp/$ARQUIVO $DIRETORIOS
# Acessa o FTP e coloca os arquivos
ftp -in << EOF
open $HOST_FTP
user $USUARIO_FTP $SENHA_FTP
bin
lcd /tmp
dele $ARQUIVO
put $ARQUIVO
bye
EOF
# Remove os arquivos temporarios
rm -rf /tmp/$ARQUIVO

Script IDEVSULTIL

[root@sysweb bin]# /bin/idevsutil –getServerAddress qualityinfo
Password:

<tree message=”SUCCESS” cmdUtilityServer=”evs28.ibackup.com” cmdUtilityServerIP=”173.255.12.159″ webApiServer=”evsweb28.ibackup.com” webApiServerIP=”173.255.12.160″/>

# ——————————————————————————————- #

#!/bin/bash

# Script de Backup Cloud – IDrive
# Qualityinfo Solucoes em Informatica
# Marlo Luiz Binsfeld
/bin/idevsutil –xml-output –password-file=”/etc/password-idrive” –bw-file=/usr/local/bin/bandwidth-idrive –files-from=/usr/local/bin/files-idrive / qualityinfo@evs28.ibackup.com::ibackup/SRV-SYSWEB

# ——————————————————————————————- #

Adicionar Disco (Storage) Xenserver

Adding new hard-drive in XenServer is a bit different from the traditional Linux process. For XenServer, you need to create a container called a ‘storage repository’ to define a particular storage target (such as a hard disk), in which Virtual Disk Images (VDIs) of VMs are stored. A VDI is nothing but an abstracted storage space which acts as the hard-disk for VMs.

Xen storage repository supports IDE, SATA, SCSI and SAS drives  when locally connected, apart from iSCSI, NFS, SAS and fiber channel in case of a remote storage.

Steps to create an SR in a XenServer.

1. SSH to the XenServer as root.
2. Find the disk ID of the new device using the following commands:

# cat /proc/partitions

You will see list of all the HDDs and partitions. Find which device is your new local disk. This is probably “sdx”(most probably sdb) or “/cciss/c0d1p0”.

# ll /dev/disk/by-id

This command will list the disk ids for all the partitions/HDDs present in the server as shown in the image below.

Find the disk ID of the “sdx” or “cciss/c0d1”disk. The “scsi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” or “cciss-xxxxxxxxxxxxxxxxxxxxxxxxxx”format is what you need.

3. Find out the ‘host-uuid’ in the XenSserver using the following command.

#xe host-list

The uuid (RO) is the ‘host-uuid’  you need.

4.Create a Storage Repository (SR):

# xe sr-create content-type=user device-config:device=/dev/disk/by-id/<scsi-xxxxxxxxxxxxxxxxxxxxxxxxx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm
– Or –
# xe sr-create content-type=user device-config:device=/dev/disk/by-id/<cciss-xxxxxxxxxxxxxxxxxxxxxxxxx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm
– Or –
# xe sr-create content-type=user device-config:device=/dev/<sdx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm

You can verify it from XenCenter with the following steps:

1. Connect to the XenCenter.
2. Go to the ‘Storage tab’. You will find the details of all storage repositories here. You can see the storage ‘Local Storage2’ in the list.
This signifies that the disk has been added successfully. Now, you can start creating VDIs on it.

Créditos : http://knowledgelayer.softlayer.com/questions/534/Adding+a+hard+drive+to+Citrix+XenServer

Auditoria de Arquivos no Fileserver

O primeiro passo para realizar uma auditoria em um Windows Server é habilitá-la e para isso crie uma GPO na OU do servidor em que ela será executada ou defina-a nas políticas locais.

Nota: Para um melhor gerenciamento é melhor criar uma GPO, pois assim você pode configurá-la sem ter que logar localmente, além de poder ter um relatório do que está habilitado ou não.

Ao criar a GPO vá até a seguinte configuração: Computer Configuration (Configuração de Computador) > Policies (Politicas) > Windows Settings (Configurações do Windows) > Security Settings (Configuração de Segurança) > Local Policies (Politicas Locais) > Audit Policies (Politicas de Auditoria) e clique duas vezes em “Audit Object Access” (Auditoria de Acesso a Objetos).

Obs: A politica acima é para ser criada no Windows Server 2008, no 2003 o caminho é diferente:

Computer Configuration (Configuração de Computador) > Windows Settings (Configurações do Windows) > Security Settings (Configuração de Segurança) > Local Policies (Politicas Locais) > Audit Policies (Politicas de Auditoria) e clique duas vezes em “Audit Object Access” (Auditoria de Acesso a Objetos).

Na janela que aparecer marque as opções “Success” (Sucesso) e “Failure” (Falha), isso para termos a opção de selecionar as opções de falha e sucesso na auditoria, conforme a imagem abaixo:

Pronto já habilitamos o servidor para que ele possa realizar auditorias, mas ele não está auditando nada ainda, para isso precisamos definir o que será auditado. No nosso caso queremos que ele audite os acessos indevidos a pastas e os arquivos apagados com sucesso.
Para isso, logue com uma conta com direitos administrativos no servidor onde a auditoria foi habilitada, vá até a pasta onde ela será realizada e clique com o botão direito nela e depois em “Properties” (Propriedades) e após na aba “Security” (Segurança), em seguida em Advanced (Avançado).

Clique na aba “Auditing” (Auditoria), aparecerá uma tela perguntando se você está logado com um usuário com direitos administrativos e pergunta se quer continuar, então clique em continue.

Obs: No Windows Server 2003, esse passo não existe.

Na tela seguinte clique em add (adicionar) para definir as regras da auditoria, ou seja, o que deve ser auditado.

A seguir aparecerá uma tela pedindo qual usuário será auditado. No nosso caso queremos que ele faça uma auditoria de todos os usuários, então digite o “everyone” (todos) e clique em “Ckeck Names” (Checar nomes) e depois em OK

Após, aparecerá uma tela pedindo o que quer ser auditado. No nosso caso os arquivos que são deletados com sucesso e os arquivos com falha de leitura (sem acesso), então marque a opção “delete” na coluna “Successfull” (sucesso) e “List Folder/ Read Data” (Listar Pasta / Ler Dados) na coluna “Failed” (Falha).

Dica: Não marque todas as opções, pois a visualização da auditoria ficará comprometida, isso será explicado mais a frente.

Pronto agora a auditoria já está habilitada e configurada, o próximo passo é visualizar.

Visualizando os logs de auditoria

Agora que o seu servidor está preparado para auditar, como podemos visualizar os dados que necessitamos? A ferramenta é simples de usar e todos nós conhecemos: o Event Viewer ou Visualizador de Eventos. Com ele basta ir nos logs de segurança (security) para verificar o que precisamos, porém, é uma tarefa difícil verificar essas informações por ele, por um simples motivo que mostrarei na imagem abaixo:

Notaram que ele gera inúmeras informações? Até você achar o que precisa, tendo que verificar entrada por entrada para descobrir o que quer, é chato. Se você já sabe o que procura, você pode fazer um filtro e ele já te retorna os valores desejados. No nosso caso queremos descobrir quem deletou um arquivo e quem tentou acessar um arquivo não permitido.

Nota: Quando foi falado acima para não marcar todas as opções foi justamente por causa das inúmeras informações que são gravadas nos logs, se caso deixasse tudo habilitado seu log ia estourar rapidamente.

Para verificar o arquivo deletado basta filtrar pelo evento 4663 e ele te informará quem deletou o arquivo e que horas, conforme imagem abaixo:

Nota: No Windows Server 2003 o evento é o 560.

Neste caso o usuário suporte removeu o arquivo “Documento Teste” no dia 07/04 as 22:09
E para verificar acesso indevido, tem que filtrar dois eventos: o de número 4656 e 5145. O primeiro fala de acesso indevido via acesso local e o segundo via rede, mas ambos dão os mesmos detalhes como mostra a imagem abaixo:

Neste caso o usuário Teste2 tentou acessar a pasta teste e não conseguiu por não ter acesso.

Informação contida onde está marcado de vermelho na imagem.

Nota: No Windows Server 2003 o evento é o numero 560.

Nota: Tanto no Windows Server 2008 quanto no 2003 a auditoria apresenta em falha.

Isso é uma forma de você visualizar, a outra é através do Powershell. É preferível usá-lo quando quer colocar em um relatório. Fica bem mais simples, pois você pode transformar a saída em um HTML.

Abaixo segue os dois scripts em powershell para os nossos dois casos:

Arquivo deletado
Windows Server 2008

$a = get-eventlog -logname security -instanceid 4663 |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “”, “”}

$a|Out-File “local do arquivo HTML”

Na primeira linha do script ele coleta as informações dos eventos de segurança onde o eventID é 4663 e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.

Na segunda linha ele pega a variável $a e procura pela tag HTML. Ao achá-la ele troca colocando uma borda nela. (Essa parte é importante pois ao converter a saída do comando para HTML ele vem sem borda e a visualização no arquivo fica ruim.) Na terceira linha o resultado dentro de $a é gravado dentro de um arquivo. (Onde está escrito “local do arquivo HTML” coloque o local onde quer armazenar o arquivo, por exemplo ‘C:\resultado\auditoria.html”

Windows Server 2003

$a = get-eventlog -logname security -instanceid 560 –message “*Delete*” |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “”, “”}

$a|Out-File “local do arquivo HTML”

Na primeira linha do script ele coleta as informações dos eventos de segurança onde o eventID é 56o e a mensagem do evento possui a palavra Delete e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.

Na segunda linha e terceira linha é a mesma coisa do outro script acima.

Acesso indevido
Windows Server 2008

$a = get-eventlog -logname security -entrytype failureaudit -message “*file*” |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “”, “”}

$a|Out-File “local do arquivo HTML”

Na primeira linha do script ele coleta as informações dos eventos de segurança onde os tipos são Falhas de Auditoria e na mensagem existe a palavra “file” (comum em ambos os eventos falados acima) e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.

Windows Server 2003

$a = get-eventlog -logname security -entrytype failureaudit –instanceid 560 |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “”, “”}

$a|Out-File “local do arquivo HTML”

Na primeira linha do script ele coleta as informações dos eventos de segurança onde os tipos são Falhas de Auditoria e o eventID é o 560 e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.

Na segunda linha e terceira linha de ambos é a mesma coisa do script de arquivo deletado.

Lembre-se: Para criar um script em Powershell você tem que salvar o arquivo com a extensão .ps1.

Nota: Geralmente os scripts de powershell não são habilitados para execução por padrão para isso antes de executar os scripts acima, rode o comando Set-ExecutionPolicy Unrestricted

Lembrete: O Powershell na vem instalado no Windows Server 2003, para isso tem que baixar e instalar o mesmo.

Com isso verificamos como habilitar e configurar uma auditoria no Windows Server 2003 e 2008 e verificarmos como anda o acesso a arquivos em nossa rede, porém a auditoria de arquivos é somente uma parte das ferramentas de auditoria no Windows, existem outras tais como a auditoria de logon em máquina, para mais informações acesso o link: http://technet.microsoft.com/pt-br/library/cc779526(v=ws.10).aspx

Créditos : http://www.profissionaisti.com.br/2012/04/auditoria-como-o-windows-server-pode-te-ajudar/