viernes, 2 de noviembre de 2012

Como crear directorios y recursos compartidos por CMD en Win2008

Hoy les traigo un pequeño script que tuve que armar para la creacion de directorios para usuarios y sus respectivos share, este script crea un directorio con el nombre del usuario que lo va a utilizar y comparte ese recurso para que el usuario pueda acceder a el por la red.
Este script utiliza un archivo (lista.txt) donde por cada nombre de usuario que tenga dentro va a crear el directorio y recurso compartido que corresponda.
Archivo: altasmasivas.CMD

@echo off
cls

@IF NOT EXIST lista.txt GOTO :FIN
FOR /F "eol=" %%i IN (lista.txt) DO CALL :alta %%i
GOTO :FIN

:alta
md E:\Users\%1
echo s|cacls E:\Users\%1 /C /G "Admins. del dominio":F
cacls E:\Users\%1 /E /C /G %1:C
net share  %1$=E:\Users\%1 /GRANT:%1,CHANGE

:FIN

Aclaración del codigo:

@IF NOT EXIST lista.txt GOTO :FIN
esta linea verifica si el archivo con los nombres de usuario existe, en caso de no existir hace un salto hasta el FIN (se cierra el scritp sin hacer nada)

FOR /F "eol=" %%i IN (lista.txt) DO CALL :alta %%i
por cada linea en el archivo "lista.txt" llama a la etiqueta "alta" y le pasa por parametro la linea que leyo del archivo

md E:\Users\%1
crea el directorio con el nombre que recibio desde el FOR

echo s|cacls E:\Users\%1 /C /G "Admins. del dominio":F
Le damos permisos NTFS al grupo "Admins. del dominio". ante dudas sobre los paramentros ejecuten "cacls /?"

cacls E:\Users\%1 /E /C /G %1:C
Le damos permisos NTFS al usuario (%1)

net share  %1$=E:\Users\%1 /GRANT:%1,CHANGE
creamos el recurso compartido con permisos de CHANGE para el usuario

lunes, 22 de octubre de 2012

Habilitar el Calendario de Windows en usuarios no administradores.

Hoy, después de mucho tiempo de no subir nuevos contenidos les traigo un tip interesante. Como habilitar el calendario de windows para usuarios limitados o no administradores o como mas prefieran decirle.
Esta habilitación es muy simple de realizar, simplemente con un usuario con permisos de Administrador abrimos la herramienta de "Directiva de grupo (gpedit.msc)" que se puede abrir desde "Menú inicio > Ejecutar > gpedit.msc".
Una ves abierta, vamos hasta la rama "Configuración de equipo > Configuración de windows > Configuración de seguridad > Directivas locales > Asignación de derechos de usuario > Cambiar la hora del sistema". Allí dentro agregamos al usuario al cual le vamos a permitir el uso del calendario, y listo eso seria todo.
Para la próxima ves que el usuario inicie sesión ya va a poder usar el calendario sin problemas.

viernes, 18 de mayo de 2012

Jugando con WMI: Modificar el "Tipo de Inicio" de los servicios de Windows

Siguiendo con mi incursión en el uso del WMI de windows, se me ocurrió probar en cambiar la manera en que se inician algunos servicios de windows, por ejemplo a muchas personas no les interesa el firewall o el centro de seguridad, es por eso que es normal que muchos técnicos tengamos la costumbre de estar modificandolos especialmente si queremos ahorrarnos algunos megas de memoria RAM y ganar un poco de velocidad, es por eso que arme este pequeño script en VBSCRIPT que deshabilita varios servicios que considero inútiles para una red hogareña. Ustedes pueden modificarlo para que en todo caso modifique mas servicios o bien modifique menos.
Los servicios que se deshabilita son:
  • wuauserv = Actualizaciones automáticas
  • wscsvc = Centro de seguridad
  • RemoteAccess = Enrutamiento y acceso remoto
  • mnmsrvc = Escritorio remoto compartido de NetMeeting
  • SharedAccess = Firewall de Windows/Conexión compartida a Internet (ICS)
  • seclogon = Inicio de sesión secundario
  • RSVP = QoS RSVP
CODIGO: 

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

Set colServicios = objWMIServicio.ExecQuery _
        ("Select * from Win32_Service where Name='wuauserv' OR Name='SharedAccess' OR Name='wscsvc' OR Name='RemoteAccess' OR Name='mnmsrvc' OR Name='seclogon' OR Name='RSVP'")

For Each objServicio in colServicios
Return = objServicio.ChangeStartMode("Disabled")
If Return <> 0 Then
Wscript.Echo "ERROR" & VBNewLine _
& "Error al cambiar el servicio : " & objServicio.Name _
& "Codigo de error = " & Return 
End If
Next