quarta-feira, 26 de novembro de 2008

VBS para finalizar processo

Como vocês já devem estar percebendo adoro VBS, essa abaixo serve para você que tem problema com alguma tarefa "chata" que abre vários processos no seu Servidor e muitas vezes você tem que finaliza-la na raça:



strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'NomeDoProcesso.exe'")

For Each objProcess in colProcessList
objProcess.Terminate()
Next


Prontinho, salve como FechaProcessoX.vbs e execute.
Abraço!!!

Captive Portal

Olá Pessoal, estou disponibilizando o arquivo PHP de exemplo do Captive Portal:


// This is the name of your hotspot. It is what will be displayed in
// the browser title and messages such as "Logged in to _My HotSpot_".
define('HOTSPOT_NAME', 'Título do seu HotSpot');

// With which language shall I talk to you?
// available: 'en', 'de'
// Definição do seu idioma
$lg = 'pt-br';

// Set the UAM IP and UAM Port to point to the chillispot server.
define('UAMIP', '192.168.10.1');
define('UAMPORT', '3990');

// Leave this the way it is. It's just for convenience.
define('UAM_URL', 'http://' . UAMIP . ':' . UAMPORT);

// Set this to the base url of your login website.
// for example: "https://wireless_login.mysite.com/"
// Site do Captive Portal
define('BASE_URL', 'http://192.168.50.1:8080/sitedelogin/');

// Set this to the url where you find the login script (index.php).
// for example: 'BASE_URL' or 'BASE_URL . "hotspotlogin/"'
define('LOGINPATH', BASE_URL);

// Set to true to enable login cookie to store username and password.
define('ENABLE_LOGIN_COOKIE', true);

// Set this to "true" to enable debugging output.
define('DEBUG_MODE', false);

// Shared secret used to encrypt challenge with. Prevents dictionary
// attacks. You should change this to your own shared secret.
// NOTE: This should match chilli.conf's 'uamsecret'.
// Senha do UAMSECRET que fica no roteador
define('UAMSECRET', 'senha');

// Best to leave the following line alone if you want to use ordinary
// user-password for radius authentication. Must be used together with
// UAMSECRET (above).
define('USERPASSWORD', true);

?>


Abraço!!!

segunda-feira, 10 de novembro de 2008

Vídeos do GTER

Pessoal, já se encontram no Youtube os vídeos do GTER:






http://www.youtube.com/watch?v=tFO91BFPeOk






http://www.youtube.com/watch?v=_gCIsfs-MeU



http://www.youtube.com/watch?v=FU_TNmk3zQU

Script BAT para fechar arquivos abertos pela rede

Geralmente o NTBACKUP enfrenta problemas para salvar arquivos que estejam abertos pela rede, basta um usuário esquecer um desses arquivos abertos e pronto, o mesmo não é gravado na fita.
Uma vez encontrei um script na Internet que pegava as informações dos arquivos compartilhados abertos através do comando netfiles e os fechava, infelizmente não encontrei o site para referenciar aqui, peguei esse script e fiz pequenos ajustes, ele ficou ideal para ser utilizado no seu servidor minutos antes da janela de backup:

####Script .BAT

@echo off

net files > ArquivosAbertos.txt

for /F "delims= " %%a in ('type ArquivosAbertos.txt ^findstr "*.*"') do (

Net Files %%a /close

)

###


Ele gera uma lista TXT de arquivos abertos e a usa para fechá-los.


Também já utilizei um outro script, esse peguei do site da Microsoft, mas não tive muito sucesso com ele:

### Script .BAT

for /f "skip=4 tokens=1" %a in ('net files') do net files %a /close

###



Abraço!!!

VBS que renomeia pasta e mantem compartilhamento.

Supomos que você tem uma pasta pública que é esvaziada todo final mês, sabemos que você provavelmentenão da deleta logo de cara e deixa um backup pelo menos por alguns dias, então como fazer isso de maneiraautomática? Como não precisar refazer o compartilhamento?Criei uma VBS que renomeia a pasta para o nome dela e data, exemplo de hoje seria Pasta_091108, é criada uma nova pasta com o nome que estava e essa pasta fica com os mesmos compartilhamentos.
Sendo assim, a pasta C:\Pasta que estava compartilhada como Pasta$ com permissão para o grupo g_marketingcontinuará exatamente com as mesmas configurações, e seus arquivos estarão na pasta renomeada.Esse script só funciona 100% com as duas pastas ficando no mesmo diretório.
Exemplo do Arquivo MovePasta.VBS

########################
'Elifas - Junho de 2008
dNow = Now
yy = Right(Year(dNow), 2)
mt = Right("00" &Month(dNow), 2)
dd = Right("00" &Day(dNow), 2)
NovoNome = "Pasta_" & dd &mt &yy

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = ObjFso.getFolder("C:\pasta")

oFile.Name = NovoNome

Set objFolder = objFSO.CreateFolder("C:\pasta")
#####################



Prontinho, basta agendar a tarefa do Windows.

sexta-feira, 7 de novembro de 2008

Palestra no GTER


Hoje ministrei junto com o Wagner Tadeu e o Eduardo Lucas uma palestra no GTER:




Ela teve transmissão online, em breve publicarei o vídeo no Youtube, por enquanto veja abaixo as telas dos slides.


O tema foi "Criando um Hot-Spot sem-fio com soluções livres"





quinta-feira, 6 de novembro de 2008

Utilizando o ROBOCPY, melhor que o XCOPY

Provavelmente ao ler robocopy você vai lembrar daquele simpático policial do futuro (que eu odiava), mas não é dele que estamos falando e sim do Robust File Copy, o sucessor do xcopy que veio muito mais completo, pode ser bem útil para espelhamentos de backup.
No Windows Vista ele já vem nativo, já no 2003, 2000 e XP é necessário baixar do site da Microsoft:

Windows 2003:

http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

Opções mais usadas:
  • /E – Cópia dos sub-diretórios
  • /ZB – Modo Backup
  • /COPYALL – Cópia de todas as informações do arquivo
  • /R:0 - não repete a cópia em caso de falha
  • /W:0 - por não repetir a cópia em caso de falha também não há tempo de espera entre as repetições
  • /V - Exibe os arquivos que por alguma razão não foram copiados
  • /NP - Não exibe o progresso da cópia
  • /ETA - Exibe o tempo estimado que a cópia dos dados levará
  • /LOG: - Especifica o local onde o log será armazenado

Exemplo de cópias que eu fiz:

  • robocopy u:\pastalocal\ x:\pastadestino\ /e /zb /copyall /r:3 /w:3 /v /eta /sec /log:c:\logdacopia.txt

Existem diversas outras opções, use robocopy /? e descubra!!!
Abraço!!!


Script de Configuração de Rede - NETSH

Como tive diversos problemas de drivers de rede com o software NetProfiles principalmente com placas de rede de notebook resolvi procurar outra solução, encontrei o NetProfilesSwitch que é excelente mas pago, o NetSeeman que é razoável e alguns outros, mas acabei resolvendo mesmo o problema criando scripts com o comando netsh, testei ele com Windows Vista e Windows XP, a versão do Vista é mais poderosa em relação ao Proxy, a do XP peca nesse ponto.
Segue abaixo um exemplo de bat para cada versão:

Windows XP
1º - você deve renomear sua conexão de rede, geralmente o nome utilizado é “conexão local”, ou “conexão sem fio” entre outros, você debe clicar com o botão direito e renomear a conexão, ou então utilizar exatamente a mesma descrição nas linhas de comando, é o campo que deixei como nome abaixo

2º - você pode configurar para a rede fique dhcp ou static, isso é definido pelo campo source e tenho exemplo das duas situações

para deixar a placa dhcp

  • netsh interface ip set address name="nome" source=dhcp

para configurar ip

  • netsh interface ip set address name="nome" source=static 172.0.0.0 255.0.0.0 172.0.0.254 1

para configurar o dns

  • :netsh interface ip set dns "nome" static 172.0.0.0 primary

3º - No caso do Windows XP o Proxy é definido por um comando não relacionado ao netsh que é o proxycfg, esse comando não funciona 100% pois é necessário reiniciar o micro para atualizar as configurações, uma alternativa é utilizar o ieProxyCfg.exe que encontrei na Internet mas também não funcionou 100%

para configurar o proxy

  • proxycfg -p 172.0.0.0:0000

ou
proxycfg -d
(zera o proxy)

4º - Devido a esse problema do proxy sugiro que utilize o comando shutdown no fim da bat para que o micro seja reiniciado após executar a bat e o novo proxy seja utilizado.

Windows Vista
No caso do Vista devemos seguir da mesma maneira os dois primeiros passos apenas atentando a diferença do nome dos comandos, mas ele já tem uma solução para o Proxy dentro do próprio netsh que é o winhttp

  • netsh interface ip set address "nome" static 172.0.0.0 255.255.255.0 172.0.0.254
  • netsh interface ip set dns "nome" static 172.0.0.0 primary
  • netsh interface ip add dns name="nome" addr=172.0.0.0 index=2
  • netsh winhttp set proxy 172.0.0.0:0000

Temos outras opções do netsh winhttp

  • dump - Displays a configuration script.
  • import - Imports proxy setting from IE.
  • reset - Resets WinHTTP proxy setting to DIRECT.
  • set - Configures WinHTTP proxy setting.
  • show - Displays current WinHTTP proxy setting.

Com isso não é preciso reiniciar o micro.

Caso alguém se interesse e tenha outra solução para a configuração do Proxy do XP fique a vontade para dar sugestões.

Segue abaixo o bat do XP como exemplo:

echo Configurando rede
echo configurando IP/Máscara/Gatewaynetsh interface ip set address name="LAN" source=static 172.0.0.0 255.255.0.0 172.0.0.0 1
echo Configurando DNSnetsh interface ip set dns "LAN" static 172.0.0.0 primary
echo Configurando Proxyproxycfg -p 172.0.0.254:00
echo Seu micro vai ser reiniciadoshutdown -r -f -t 5
exit

Configurando o NAGIOS



Esse artigo é válido para as versões 2.x do Nagios no CentOS:

Verifique se você tem instalado os pacotes gd, gcc e glic, caso não tenha instale


  • yum install gd*yum install gcc*yum install glic*
Verifique se você tem o httpd instalado, caso não tenha instale:


  • yum install httpd*

Baixe o nagios no site http://www.nagios.org/ Baixe o nagios-plugins no mesmo site



  • tar –xzvf nagios-2-xxxxx

  • cd nagios-2-xxxxx

  • ./configureadduser nagiosmkdir /usr/local/nagioschown nagios.nagios

  • /usr/local/nagios/usr/sbin/groupadd nagcmd/usr/sbin/usermod -G nagcmd

  • apache/usr/sbin/usermod -G nagcmd nagiosmake allmake installmake install-initmake install-commandmodemake install-config

  • cd ..

  • tar –xzvf nagios-plugins

  • cd nagios-plugins

  • ./configure

  • make install

  • vim /etc/httpd/conf.d/nagios.conf

  • htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios(sem o -c add + usuarios)htpasswd

  • /usr/local/nagios/etc/htpasswd.users fulanohtpasswd /usr/local/nagios/etc/htpasswd.users ciclano

Configure no arquivo /usr/local/nagios/etc/cgi.cfg para que esses usuários possam executar comandos e verificar todos os hosts;
Iniciando o service do Nagios:



  • chkconfig --add nagios

Supondo que você vai configurar o servidor XXX para ser monitorado, ele deverá estar cadastrado nos seguintes arquivos dentro da pasta /usr/local/nagios/etc
Services.cfg / hosts.cfg / hostgroups.cfg
Para que você não inicie o Nagios com erro pode usar o debug na pasta /usr/local/nagios/bin



  • ./ nagios –v /usr/local/nagios/etc/nagios.cfg

Com isso você consegue identificar erros de configuração.

É isso, siga os exemplos de configuração dos arquivos.
Abraço!




Segue abaixo um exemplo do arquivo nagios.conf:



# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
# Last Modified: 11-26-2005
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system.
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

Alias /nagios "/usr/local/nagios/share"

# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

Boot remoto via placa de rede, Thinclient

1... Esse documento leva em consideração que você tenha em seu Servidor Windows 2003 o serviço de DHCP funcionando e cadastre o MAC ADDRESS dos clientes;

2... No ADD/REM programas do seu Servidor Windows 2003 habilite o RIS – Remote Instalation Srvice – Windows, nele se encontra o serviço de TFTP que é necessário para o Thinclient;
3... No registro do Windows, vá até a chave: HKLM/System/CurrentControlSet/Services/TFTPD/Parameters e nela acrescente uma string com nome Directory com o valor “C:\tftpboot” , essa passa a ser seu diretório de TFTP;
4... Inicie o serviço Trivial FTP no Services do Windows;
5... Pegue o MAC ADDRESS do micro que irá utilizar o Thinclient e adcione no seu DHCP, você deverá setar para ele apenas as opções 66 e 67;












6... No site http://thinstation.taylorsolutionsonline.net/TSoM/ você irá seguir um passo a passo de criação do seu Thinstation, você irá escolher qual serviço deseja utilizar (VNC, RDESKTOP, etc.), os drivers computador cliente, e outras opções, depois disso você irá pedir a execução do Build que criará os arquivos para que você faça download ;




7... Após setar os parâmetros necessários no site e executar o Buil (ícone da chave de fenda) faça download dos seguintes aquivos:
Tudo do diretório build, salve numa pasta build;
Tudo do diretório etherboot, salve numa pasta etherboot;
Tudo do diretório pxe, salve numa pasta pxe;
Salve esses arquivos na pasta tftpboot do seu servidor;
Na pasta pxe, selecione os arquivos vmlinuz, initrd e pxelinux.0, e os copie um nível acima (pasta tftpboot);
Crie um arquivo thinstation.conf.network,nele você vai setar os parâmetros do seu Thinclient de acordo com suas necessidades e com base no arquivo thinstation.con.example que você baixou do site, no exemplo abaixo está criado esse arquivo para um acesso a Terminal Server:

#Arquivo thinstation.conf.network / Elifas maio 2008
AUDIO_LEVEL=67
KEYBOARD_MAP=pt_BR
TIME_ZONE="UTC-03:00"
SYSLOG_SERVER=local
USB_ENABLED=On
DAILY_REBOOT=On
#AUTOPLAYCD=On
CUSTOM_CONFIG=Off
RECONNECT_PROMPT=On
SCREEN=0
WORKSPACE=1
AUTOSTART=On
ICONMODE=AUTO
SESSION_0_TITLE="Terminal Server XXX" #título do seu terminal server
SESSION_0_TYPE=rdesktop #aplicativo de cliente do terminal, poderi aser VNC por exemplo
SESSION_0_SCREEN=0
SESSION_0_RDESKTOP_SERVER=192.168.10.10 #IP do terminal
SESSION_0_RDESKTOP_OPTIONS="-u 'aluno' -g 1024x768 -a 24 -r sound:local"
SESSION_0_AUTOSTART=On
#SESSION_1_TITLE="640x480"
#SESSION_1_TYPE=rdesktop
#SESSION_1_SCREEN=0
#SESSION_1_RDESKTOP_SERVER=192.168.0.254
#SESSION_1_RDESKTOP_OPTIONS="-u 'aluno' -g 640x480 -a 16 -r sound:local"
#SESSION_1_AUTOSTART=Off
SCREEN_RESOLUTION="1024x768 640x480 *"
SCREEN_COLOR_DEPTH="24 8 16 *"
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
NET_HOSTNAME=ts_*
NET_SMTP_SERVER=donald
NET_SMTP_EMAIL=donald@duck.org.nz
NET_TIME_SERVER=mickey
NET_TELNETD_ENABLED=On
NET_REMOTE_ACCESS_FROM="duck.quak.org.au 192.168.0.0 .disney.us"


Pronto, agora reinicie seu service de DHCP e faça seu boot remoto pela estação que você configurou no DHCP, a mesma irá acessar o Terminal Server ou outro serviço que você configurou, existem outras opções como acessar mais de um serviço, configurar particularmente cada cliente, para isso informe-se lendo o thinstation.conf.example e os arquivos de help do site citado nesse artigo.
Abraço!!!