Archivo

Archivo para la categoría ‘Herramientas’

El Ramsonware de Correos

lunes, 4 de mayo de 2015 4 comentarios

Hola a todos,

Aunque parezca raro, pero sólo tengo que decir ¡¡Ya me ha entrado a mi bandeja el correo del Ramsonware de Correos!! Así que antes de mandarlo a Correo no deseado e intentar reportarlo como contenedor de malware, voy a explicar como interceptar este tipo de correos y no caer en el engaño.

Para empezar, vamos a indentificar que es Ramsonware, que según la Wikipedia, indica que:

Un ransomware es un tipo de programa informático malintencionado que restringe el acceso a determinadas partes o archivos del sistema infectado, y pide un rescate a cambio de quitar esta restricción. Algunos tipos de ransomware cifran los archivos del sistema operativo inutilizando el dispositivo y coaccionando al usuario a pagar el rescate.

Se hicieron populares en Rusia y su uso creció internacionalmente en junio del 2013. La empresa McAfee señaló que sólo en el primer trimestre del 2013 había detectado más de 250.000 tipos de ransomwares únicos

http://es.wikipedia.org/wiki/Ransomware

CORREOS

Si miro desde mi gestor de correos web el correo recibido, identifico parte de la cabecera que me va a indicar de que podría no ser el emisor que dice ser.

CORREOS2

1.- El emisor (Que es español! Correos de España), no es capaz de procesar correctamente los acentos.

Las herramientas de traducción utilizadas, no entienden que CARTA es FEMENINO y que por lo tanto, es ENTREGADA y no ENTREGADO.

2.- El emisor, no concuerda con el dominio que indica, Correos, enviaría un correo (sabiendo mi dirección de correo electrónico), desde un dominio @correos.es, y no @sdacourier24.com.

Otra información a tener en cuenta, es que España va con nuestra queridísima Ñ, y que por lo tanto, vemos que tampoco procesa correctamente caracteres especiales de nuestro idioma.

Ahora si nos fijamos en el cuerpo del mensaje, observamos algunos fallos (unos más vistosos que otros):

CORREOS3

1.- Este es el más difícil de identificar, pero si te fijas bien, verás que el fondo naranja es de 2 códigos diferentes:

– Naranja bajo las letras: #FFD015
– Naranja barra: #FDCF23

Se que identificar este caso es bastante difícil, pero si que se nota un poquito 😉

2.- Si nos envía el correo electrónico desde CORREOS, a cuanta de quien nos indican que no se ha procesado en COURIER, otra empresa de mensajería ¿Ahora se cambian los clientes? 🙂

3.- Volvemos otra vez a la rica lengua española que tenemos, ya que podemos ver que todos los acentos son cambiados por tildes, ya que no son capaces de tratarlas correctamente 😉

También tenemos que contar, que las expresiones utilizadas son muy «De traductor automático».

4.- Si situamos el ratón por encima de los LINKS que existen en la pagina web:

– Descargar información sobre su envío
– Haga click aqu’i para

Nos remite a la misma URL, que podemos observar al pie izquierdo de la web, y que es totalmente externa a correos o a cualquier sistema de acortamiento de URL tipo bit.ly.

Este es sólo un ejemplo, que por suerte, he podido tener para poder visualizarlo, pero al cabo del día, se envían una gran cantidad de correos electrónicos que lo único que persiguen es conseguir hacerse con el control del vuestro equipo, para unirlo a una red de Bots, secuestrar ficheros, etc….

P.D.: Si habéis sido afectados por este ramsonware o por el Virus de la Policía, y es un equipo de una empresa, deberéis dirigiros a generar una denuncia por secuestro de datos, identificar los datos afectados (para efectos de LOPD), y sobre todo, no realizar el pago del dicho secuestro, ya que en ese momento, podrían denunciarnos por cohecho y/o complicidad.

Espero que a raíz de esta entrada, cuando recibáis un correo que no estáis esperando, seáis capaces de poder identificarlo como legítimo o SPAM, después de haber leído esto.

Capturar remotamente la pantalla de IOS y ANDROID

lunes, 13 de octubre de 2014 Comments off

Hola a todos,

Algunos me han preguntado que herramienta utilizo para coger el control remoto de IOS y ANDROID.

Para IOS utilizo una solución muy buenas (para mi gusto 😉 ), se llama AirServer. Se instala en un equipo Windows 7 o superior y/o MAC y emula el dispositivo AirPlay de Apple.

En la web existe varias versiones, también 1 de prueba totalmente funcional durante 7 días. Para más datos: http://www.airserver.com

Para utilizar AirServer en un equipo Windows es necesario tener instalado y operativo el servicio de BonJour Print server for Windows (http://support.apple.com/kb/DL99), y registrarse y descargar a aplicación a instalar.

airplay01

En el registro de la aplicación nos pedirá un numero de activación que nos lo facilitará la versión prueba o la comprada. Para la versión de prueba, es necesario que el equipo en donde se va a ejecutar AirServer tenga acceso a internet para poder comprobar el licenciamiento de la aplicación.

airplay002

Una vez arrancado el servicio, iremos al iPad/iPhone, e indicaremos que AirPlay se conectará al equipo en donde lo hayamos instalado. Comentar, que es posible compartir la pantalla tanto por WiFi como por cable.

airplay02

Como podréis notar, la pantalla se adapta a la rotación del dispositivo.

airplay03

 

Para ANDROID utilizo: TeamViewer QuickSupport (https://play.google.com/store/apps/details?id=com.teamviewer.quicksupport.market), para instalarlo en el dispositivo Android, y una vez arrancado, bajar el Add-on para coger el control remoto. Y en el equipo Windows, instalar la aplicación de TeamViewer (http://www.teamviewer.com) descargada de la misma web del fabricante.

Instalamos ambas aplicaciones y las ejecutamos. En el Equipo de escritorio, indicaremos el ID del dispositivo Android, para que así y vía internet, podamos conectarnos al dispositivo.

teamviewer01

APP en Windows

android01

APP en Android

 

 

 

 

 

 

 

 

 

Una vez aceptada la conexión, indicaremos que queremos coger el control remoto del dispositivo, y en ese momento, en Android, se instalará un add-on para poder realizar la conexión el dispositivo.

android03

Una vez aceptada la conexión, tendremos pleno acceso al sistemas de android, así como poder controlar los movimientos remotamente.

android04

Espero que os sirvan!

Un Saludo,

System Center Advisor – Reconfiguración de agente

jueves, 10 de abril de 2014 Comments off

Hola a todos,

Después de haber probado durante una semana esta solución gratuíta para monitorizar de Microsoft, voy a explicar como podemos reconfigurar nuestro agente o Gateway para que reporte al Cloud de monitorización.

Para esta reconfiguración, la realizaremos desde el editor de registro de Windows, como ya sabéis, pulsando [Windows+R] y escribiendo regedit, podremos acceder al registro (es posible que a causa del UAC, nos pida elevar privilegios de usuario. Lo hacemos).

Empezamos con la reconfiguración del agente:

Navegamos por el árbol de registro hasta: HKEY_LOCAL_MACHINE \Software\Microsoft\SystemCenterAdvisor\Agent

SCA_R07SCA_R03Una vez realizados los cambios, deberemos ir a los servicios y reiniciar el servicio: System Center Management

SCA_R06

En caso de querer modificar nuestro servidor Gateway, deberemos ir a la ruta: HKEY_LOCAL_MACHINE \Software\Microsoft\SystemCenterAdvisor\Gateway

SCA_R08

SCA_R04

Y al igual que con el agente, para aplicar los cambios en el Gateway, será necesario reiniciar el servicio: System Center Advisor Gateway.

SCA_R05Como podemos ver, tenemos un mínimo de configuración para reportar en los horarios en los cuales nuestros usuarios no hacen un uso exaustivo de los servidores.

System Center Advisor – Monitorización gratuita en la nube

jueves, 3 de abril de 2014 Comments off

Hola a todos,

Hoy voy a explicar un poco sobre esta herramienta, que si no eres un técnico muy exigente, te va ha ser de mucha utilidad.

System Center Advisor (forma parte de SCOM), es un agente que se instala en nuestra plataforma Windows Server y es capaz de monitorizar (no a tiempo real), nuestros servidores, el listado de sistemas operativos a monitorizar es el siguiente:

  • Windows Server 2012
  • Windows Server 2008
  • Windows Server 2008 R2
  • Hyper-V Server 2012
  • Hyper-V Server 2008 R2

Como es de esperar, de plataforma Windows Server 2008 hacia delante.

Y las aplicaciones que por ahora es capaz de monitorizar son las siguientes:

  • Windows Server 2008 / 2008 R2 / 2012:
    • Active Directory
    • Hyper-V Host
    • General operating system
  • Hyper-V Server 2012
  • SQL Server 2008 y posterior
    • SQL Engine
  • Microsoft SharePoint Server 2010
  • Microsoft Exchange Server 2010
  • Microsoft Lync Server 2010
  • Microsoft Lync Server 2013
  • System Center 2012 SP1 – Virtual Machine Manager

Como podemos observar, es posible monitorizar casi toda la plataforma Microsoft desde W2K8 hacia arriba.

Voy ha hacer un inciso respecto a «tecnico no muy exigente», para que no haya malos entendidos 😉 este producto que es gratuito, monitoriza sistemas operativos de Microsoft y aplicaciones del mismo, pero, desde que se instala un agente, no empieza a enviar reportes hasta una vez pasado 24 horas, y otro motivo, es que, sólo guardará los datos recolectados de 5 días, por lo tanto, será tarea nuestra el ir exportando de alguna manera estos datos para tenerlos en caso de necesidad.

Alta del servicio

Para dar de alta el servicio e iniciar el proceso de monitorización, deberemos acceder a https://www.systemcenteradvisor.com y darnos de alta con una cuenta Microsoft Account (@outlook.com, live.com, etc o Office365). Una vez hayamos accedido, nos pedirá algunos datos sobre la cuenta:

SCA01

Aceptamos el contrato de licencia:

SCA02

Nos indica que la cuenta ya ha sido activada, y que vamos a proceder a iniciar el despliegue de la solución (en este caso, a descargar los requerimientos de software para poder instalarlos posteriormente)

SCA03

Nos muestra un ejemplo de despliegue, en el cual, al lado derecho de la imagen, observamos la solución que vamos a instalar. Ya que la solución de la izquierda, requiere de SCOM (System Center Operation Manager) y es un producto del cual no dispongo.

SCA04

Nos descargamos tanto el SETUP como el CERTIFICADO y lo guardamos en un directorio que podamos acceder desde los servidores a monitorizar.

SCA05

Nos indican como debemos proceder para la instalación de los agentes:

SCA06

Nos indican como realizar el mismo procedimiento de descarga de software desde la consola de administración:SCA07

 Instalación del agente

El agente necesita como requisito para poder ser instalado en un servidor del Framework 3.5, por lo tanto, en mi caso que el servidor no lo tiene instalado, voy a proceder a la instalación:

Abrimos el ServerManager y accedemos a apartado de Features (Características), y pulsamos en Add Feature (añadir caracteristica)

SCA09

En el asistente que nos aparece despliego .NET Framework 2.5.1 Features y selecciono .NET Framework 3.5.1

SCA10

Confirmamos la instalación de características a instalar y esperamos.

SCA11

 

Una vez finalizada la instalación de .NET, iniciaremos la instalación del Gateway y del agente:

  • Gateway: Será el encargado de recolectar la información de todos los servidores que estén configurados para que le reporten, y será el que tenga acceso a internet.
  • Agente: Es la aplicación de monitorización que irá recopilando información sobre el servidor y sus estados.

 

Ejecutamos el ejutable (AdvisorSetup.exe) y seguimos las indicaciones:SCA12

SCA13

SCA14

SCA15Al seleccionar Gateway, nos muestra una advertencia de que para este servidor será necesario abrir el puerto 80 hacia internet para la comunicación entre el agente y Azure.

SCA16A partir de aquí será la instalación de un agente sin gateway

SCA17

SCA18

SCA19

SCA20

Primera configuración

Indico primera configuración, por que hasta que no haya pasado el periodo de 24h, no podré saber si el agente se puede configurar de alguna otra manera, y que parámetros voy a poder configurar.

Al iniciar la primera configuración del Gateway, tendremos que indicar la ubicación del certificado, que previamente nos hemos bajado.

SCA21Indicaremos si el servidor debe de realizar la actualización de parcheado desde Microsoft Update (por defecto, indicaremos que si).
SCA22

Comprobamos que toda la configuración a aplicar sea correcta.
SCA23

Esperamos a que se vaya configurando toda la parte de Gateway como de agente que hemos instalado en este equipo
SCA24

Una vez finalizadas todas las tareas, y al haberle marcado la opción de Microsoft Update, se abrirá esta utilidad y buscará los últimos parches a bajar e instalar.
SCA25

Ayuda del producto: ayuda System Center Advisor

Cifrar ficheros en la nube con RMS

viernes, 28 de marzo de 2014 Comments off

Hola a todos,

Estando navegando por los foros y TechNet de Microsoft (si, suena muy friki 😉 ), me he encontrado con  Microsoft Rights Management (RMS) y más concretamente con la versión for Individuals.

El servicio a parte de ser gratuito, para cuentas que no sean personales (@outlook.com, @gmail.com, @hotmail,…), tiene una finalidad muy simple, cifrar un fichero para que posteriormente sea mandando o compartido, y si en un momento dado es interceptado por terceras personas, no tengan facilidades para acceder a los datos.

Para acceder al servicio es tan sencillo como tener (o crearse) una cuenta liveID, y acceder al portal:

http://portal.aadrm.com/ introducimos el correo electrónico.

RMS01

Pulsamos a siguiente.

RMS02

Y seleccionamos la aplicación de debemos descargar compatible para nuestro dispositivo.

RMS03

Podemos observar que tenemos la aplicación para cualquier plataforma de movilidad, aplicaciones de MS-Office y Sistemas Operativos de escritorio.

Una vez que hayamos instalado la aplicación de escritorio, nos aparecerá un plugin en nuestro OFFICE, para poder aplicarle las características de seguridad que queramos:

  • Sólo ver (viewer)
  • Editar (reviewer)
  • Copiar e imprimir (co-author)
  • Acceso Total (co-owner)

También indicar si queremos que el documento sea inaccesible a partir de una fecha en concreto, y sobre todo, que receptores queremos que puedan acceder al dicho documento.

RMS04

Para más información:

 

Modificar atributos masivamente en objetos de Directorio Activo

viernes, 26 de abril de 2013 Comments off

Hola a todos,

Me han pedido que realice unos cambios en cerca de 3000 objetos usuarios de directorio activo, entre los que están:
1- Cambiar el estado del usuario a Deshabilitado
2- Modificar un atributo del usuario para ocultarlo de la Libreta de direcciones de Exchange.

El punto 1, basicamente, lo solucioné con un Script que consultaba los atributos LastLogonTimeStamp y LastLogon, y manualmente se deshabilitaban aquellos que eran usuarios no genéricos, que tienen nomenclatura similar los usuario normales.

Para saber estos usuarios, desde la consola de administración de Directorio Activo, se ha realizado una búsqueda personalizada en la cual se indica que los atributos LastLogonTimeStamp sea vacío (nunca ha realizado logon en el dominio) o sea anterior a una fecha determinada, en nuestro caso 01/01/2012.

(&((objectCategory=person)(objectClass=user)(|(lastLogonTimestamp<=1325376000)(!lastLogonTimestamp=*))))

Para indicar el valor de TimeStamp, he utilizado la calculadora WEB:

Una vez que he tenido los usuario en Disable, ha tocado ocultar aquellos usuarios que el departamento de RRHH ha indicado por baja en la empresa.

Para poder realizar las acciones sobre el check a marcar:
Atributo HideExchange

Corresponde al atributo del objeto: msExchHideFromAddressLists, que podemos visualizar al abrir el objeto de usuario con la herramienta adsiedit.msc.
Para iniciar las pruebas mediante powershell, probé con visualizar los usuarios que tuviesen el check marcado (true), es decir, que no se ven en la libreta de direcciones o desmarcado (false).

Get-QADUser -Disabled -oa @{‘msExchHideFromAddressLists’=$true}

Para poder modificar tenía 2 formas, una más «elegante que otra», ya que en un Script podía trabajar con Logs de los usuarios modificados.

Sin Logs y a lo loco 😉

Get-QADUser -Disabled | Set-QADUser -oa @{‘msExchHideFromAddressLists’=$true}

Con Logs y más elegante

get-qaduser -searchroot «OU=Disable,DC=domain,DC=local» -IncludedProperties MSExchHideFromAddressLists | where-object {-not $_.MSExchHideFromAddressLists} | set-qaduser -objectAttributes @{MSExchHideFromAddressLists=$true} -Confirm | Tee-Object -FilePath «Ocultos_Exchange.txt»

Pero, como esto hubiese sido muy fácil, este cambio no querían realizarlo de forma masiva sobre toda la OU de DISABLE, e ir haciendo estas modificaciones, previo aviso, otra vez, del departamento de RRHH.

Después de todo esto, y hablando con compañero, me indicaron una herramienta que ha estado toda la vida ahí, y ha sido para mí una gran desconocida 😉

AD MODIFIY: http://admodify.codeplex.com/

Es una herramienta que nos permite, mediante una consulta previa sobre AD, modificar cualquier atributo de manera visual.

Abrimos la herramienta con permisos de modificación en AD, y pulsamos en MODIFY ATTRIBUTES
AD MODIFY

Seleccionamos el dominio sobre el cual queremos actuar y sobre que equipo con el rol de Directorio Activo, queremos actuar.
AD MODIFY

En mi caso, no me hará falta realizar una consulta sobre AD, ya que los elementos a modificar los tengo en el OU de Disable\Users. Navegaré hasta la OU y pulsaremos en ADD TO LIST.

Seleccionamos los objetos que queremos modificar.
AD MODIFY

Y ahora, y de forma visual, podemos modificar el atributo que queremos sin ningún tipo de problema 😉
AD MODIFY

Un Saludo,

Manu

Categories: Herramientas, Microsoft, Server Tags:

Recovery SCCM 2007

viernes, 26 de abril de 2013 Comments off
  • Hola a todos,

He tenido que recuperar un System Center Configuration Manager 2007 R2, con error de hardware e irrecuperable. Se ha tenido que proceder a instalar nuevamente una plataforma de similares característica al servidor origen:

  • Windows Server 2008 R2 Enterprise
  • MS-SQL 2005 Standard x32
  • 2 x vCPU
  • 6Gb vRAM
  • 300Gb vHDD

Para poder recuperar la plataforma de SCCM, lo más similar posible a la que teníamos en producción, es necesario el haber realizado el SiteBackup y tener una copia del FileSystem del servidor.

Una vez instalado el sistema operativo y SQL Server, procederemos a iniciar el restore de SCCM.

Es recomendable el recuperar de la copia de seguridad los directorios:

  • SMSData
  • SMSPKGC$
  • SMSPKGSIG
  • SMSSIG$

Y los directorios, si es posible, de donde guardemos los binarios de los paquetes de instalación de las aplicaciones paquetizadas (por si acaso).

Copiaremos los ficheros de la BBDD de SCCM al directorio de SQL-Server

  • copy [UNIDAD]:\SiteBackup\SMS_Site\SiteDBServer\ *.mdf [UNIDAD]:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
  • copy [UNIDAD]:\SiteBackup\SMS_Site\SiteDBServer\ *.ldf [UNIDAD]:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\

Y una vez copiado, realizar el attach de la BBDD.
SCCM
Navegamos hasta el directorio «\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\» y seleccionamos el fichero que previamente hemos copiado: SMS_Site.mdf
SCCM.

Ahora, tendremos que abrir el desplegable de la BBDD e ir hacia las opciones de seguridad para visualizar los usuarios que existían anteriormente, ya que tendremos que utilizar uno de estos (y que tenga permisos de dbowner), para realizar el posterior proceso de Site Recovery Wizard.

Tendremos que añadir un usuario de la BBDD con permisos de DBOWNER, a la seguridad de SQL-Server.
SCCM

Y posteriormente asegurarnos de que también está en la seguridad de la BBDD
SCCM

Para hacer el SiteRecovery, tendremos que tener en cuenta de que las BBDD de SCCM ya la tenemos en la ubicación correcta, por lo tanto, deberemos de marchar un «check» para que no vuelva a realizar el Attach de la BBDD.
SCCM

Al marcar la opción vemos que no es requerido volver a copiar y presentar la BBDD en SQL-SERVER, por lo tanto, nos indica que la acción es Not Requiered.
SCCM

Si se gerenase algún tipo de error, o quisieramos ver el log de las acciones que se van realizado, deberemos ir a: [UNIDAD]:\Program Files (x86)\Microsoft Configuration Manager\AdminUI\AdminUILog y abrir el fichero: RepairWizard.log.

En la selección de los paquetes, es recomendable el que compruebe la accesibilidad de cada uno de ellos, es un proceso que no tarda demasiado.
SCCM

Reiniciaremos el servidor y abriremos la consola de gestión de SCCM.
Ahora tocará la parte más tediosa, ya que el servidor SCCM deberá de comprobar a todos los agentes que tiene informados, por lo que este proceso, consumirá bastantes recursos del servidor durante bastante tiempo. Así que comprobamos de que en la consola tenemos informados collections que tengamos creadas, advertisements y lo dejaremos para que realice las tareas en Background que hagan falta.

Consulta para obtener los usuario de un grupo de AD

jueves, 28 de marzo de 2013 Comments off

Hola a todos,

A raíz del post SCRIPT – saber todos los usuarios que pertenecen a un directorio, me han sugerido que indique que línea lanzo para extraer la información de los grupos en directorio activo.

Dicha sentencia es la siguiente:

dsquery group -samid «GRUPO_AD » | dsget group -members -expand | dsget user -samid -display > FICHERO_TEXTO.txt

Categories: Herramientas, Microsoft, Server Tags:

SCRIPT – saber todos los usuarios que pertenecen a un directorio

martes, 18 de diciembre de 2012 Comments off

Hola a todos,

Esta vez os voy a dejar un Script que he tenido que montar para saber los usuarios que tienen acceso a unos directorios compartidos. Esta petición sería muy complicada, si no fuera, por que uno de los directorios en cuestión es un maldito saco roto con 15 grupos de directorio activo, con herencias cortadas, etc.

El Script que se lanza, genera 1 fichero que indicamos nosotros, en este caso, logACL o el nombre del directorio a extraer la información, y tantos ficheros Grupo_AD/user como permisos tienen.

Para lanzar el Script, tenemos que pasar como parámetro, el directorio a realizar el escaneo, y el fichero en donde indicará todas las ACL del directorio y subdirectorios.

cscript ListACLFolders.vbs DIR_ACL_FIND LogACL.csv

Nos generará un CSV, o fichero plano de texto con los siguientes campos:

  • Día
  • Hora
  • Directorio
  • Grupo o usuario
  • Permisos comunes
  • Permisos especiales
  • Tipo de acceso
  • Herencia
  • Errores

Deberemos de modificar la variable strDirectory dentro del proceso ShowSubACL para indicarle en donde vamos a guardar los grupos de acceso de cada directorio.

El SCRIPT:

On Error Resume Next
Const ForAppending = 8
‘Commom Permissions
Const FOLDER_FULL_CONTROL = 2032127
Const FOLDER_MODIFY = 1245631
Const FOLDER_READ_ONLY = 1179785
Const FOLDER_READ_CONTENT_EXECUTE =  1179817
Const FOLDER_READ_CONTENT_EXECUTE_WRITE =  1180095
Const FOLDER_WRITE = 1179926
Const FOLDER_READ_WRITE = 1180063
‘Special Permissions
Const FOLDER_LIST_DIRECTORY = 1
Const FOLDER_ADD_FILE = 2
Const FOLDER_ADD_SUBDIRECTORY = 4
Const FOLDER_READ_EA = 8
Const FOLDER_WRITE_EA = 16
Const FOLDER_EXECUTE = 32
Const FOLDER_DELETE_CHILD = 64
Const FOLDER_READ_ATTRIBUTES = 128
Const FOLDER_WRITE_ATTRIBUTES = 256
Const FOLDER_DELETE = 65536
Const FOLDER_READ_CONTROL = 131072
Const FOLDER_WRITE_DAC = 262144
Const FOLDER_WRITE_OWNER = 524288
Const FOLDER_SYNCHRONIZE = 1048576
Const FOLDER_INHERITED_ACE = 16
Const SE_DACL_PRESENT = 4
Const ACCESS_ALLOWED_ACE_TYPE = 0
Const ACCESS_DENIED_ACE_TYPE  = 1

strComputer = «.»
strTargetPath = WScript.Arguments.Item(0)
strOutFile = WScript.Arguments.Item(1)
strdrop = «»

Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objOutFile = objFSO.OpenTextFile(strOutFile, ForAppending, True)

objOutFile.Writeline «Date;Time;Folder;Group / User Name;Commom Permission’s;Special Permission’s;Access Type;Inheritance;Error’s»

ShowSubACL objFSO.GetFolder(strTargetPath)
ShowSubfolders objFSO.GetFolder(strTargetPath)

objOutFile.Close

Sub ShowSubFolders(Folder)
 On Error Resume Next
    For Each Subfolder in Folder.SubFolders
  ShowSubACL(Subfolder.Path)
  
  ShowSubFolders Subfolder
  If Err.Number = 0 Then
   strErros = «No Error’s»
  ElseIf Err.Number = 451 Then
   strErros = «No Error’s»
   Err.clear
  Else
   strErros = «Cod.: » & Err.Number & » Desc.: » & Err.description
   objOutFile.Writeline Date() & «;» & Time() & «;» & FolderPerm & «;» & «» & «» & «» & «;» & «» & «;» & «» & «;» & «»  & «;» & «» & «;» & strErros
   Err.clear
  End If
    Next
End Sub

Sub ShowSubACL(FolderPerm)
 On Error Resume Next
 strCPerm = «»
 strSPerm = «»
 strTypePerm = «»
 strInherit = «»
 strErros = «»
 Dim WshShell, strDirectory, strFile
 Set WshShell = WScript.CreateObject(«Wscript.Shell»)
 Set objWMIService = GetObject(«winmgmts:»)
 Set objFolderSecuritySettings = objWMIService.Get(«Win32_LogicalFileSecuritySetting='» & FolderPerm & «‘»)
 intRetVal = objFolderSecuritySettings.GetSecurityDescriptor(objSD)
 intControlFlags = objSD.ControlFlags
 strDirectory = «DIRECTORIO_EN_DONDE_GUARDAR_LOS_GRUPOS_CON_USUARIOS»
 Set objFSO = CreateObject(«Scripting.FileSystemObject»)
 If intControlFlags AND SE_DACL_PRESENT Then
  arrACEs = objSD.DACL
  If Err.Number = 0 Then
   strErros = «No Error’s»
  Else
   strErros = «Cod.: » & Err.Number & » Desc.: » & Err.description
   objOutFile.Writeline Date() & «;» & Time() & «;»»» & FolderPerm  & «»»;» & «» & «» & «» & «;» & «» & «;» & «» & «;» & «»  & «;» & «» & «;» & strErros
   Err.clear
  End If
  For Each objACE in arrACEs
   
 
   ‘ACL Type
   If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then strTypePerm = «Allowed»
   If objACE.AceType = ACCESS_DENIED_ACE_TYPE Then strTypePerm = «Denied»
   
   ‘Inherit
   If objAce.AceFlags AND FOLDER_INHERITED_ACE Then
    strInherit = «Yes»
   Else
    strInherit = «No»
   End if
   
   ‘Commom Permissions
   If objACE.AccessMask = FOLDER_FULL_CONTROL Then
    strCPerm = «Full Control»
   ElseIf objACE.AccessMask = FOLDER_MODIFY Then
    strCPerm = «Modify»
   ElseIf objACE.AccessMask = FOLDER_READ_CONTENT_EXECUTE_WRITE Then
    strCPerm = «Read & Execute / List Folder Contents (folders only) + Write»
   ElseIf objACE.AccessMask = FOLDER_READ_CONTENT_EXECUTE Then
    strCPerm = «Read & Execute / List Folder Contents (folders only)»
   ElseIf objACE.AccessMask = FOLDER_READ_WRITE Then
    strCPerm = «Read + Write»
   ElseIf objACE.AccessMask = FOLDER_READ_ONLY Then
    strCPerm = «Read Only»
   ElseIf objACE.AccessMask = FOLDER_WRITE Then
    strCPerm = «Write»
   Else
    strCPerm = «Special»
   End If
   
   ‘Special Permissions
   strSPerm = «»
   If objACE.AccessMask and FOLDER_EXECUTE Then strSPerm = strSPerm & «Traverse Folder/Execute File, »
   If objACE.AccessMask and FOLDER_LIST_DIRECTORY Then strSPerm = strSPerm & «List Folder/Read Data, »
   If objACE.AccessMask and FOLDER_READ_ATTRIBUTES Then strSPerm = strSPerm & «Read Attributes, »
   If objACE.AccessMask and FOLDER_READ_EA Then strSPerm = strSPerm & «Read Extended Attributes, »
   If objACE.AccessMask and FOLDER_ADD_FILE Then strSPerm = strSPerm & «Create Files/Write Data, »
   If objACE.AccessMask and FOLDER_ADD_SUBDIRECTORY Then strSPerm = strSPerm & «Create Folders/Append Data»
   If objACE.AccessMask and FOLDER_WRITE_ATTRIBUTES Then strSPerm = strSPerm & «Write Attributes, »
   If objACE.AccessMask and FOLDER_WRITE_EA Then strSPerm = strSPerm & «Write Extended Attributes, »
   If objACE.AccessMask and FOLDER_DELETE_CHILD Then strSPerm = strSPerm & «Delete Subfolders and Files, »
   If objACE.AccessMask and FOLDER_DELETE Then strSPerm = strSPerm & «Delete, »
   If objACE.AccessMask and FOLDER_READ_CONTROL Then strSPerm = strSPerm & «Read Permissions, »
   If objACE.AccessMask and FOLDER_WRITE_DAC Then strSPerm = strSPerm & «Change Permissions, »
   If objACE.AccessMask and FOLDER_WRITE_OWNER Then strSPerm = strSPerm & «Take Ownership, »
   If objACE.AccessMask and FOLDER_SYNCHRONIZE Then strSPerm = strSPerm & «Synchronize, »
   If trim(strSPerm) <> «» then strSPerm =  left(strSPerm, len(strSPerm)-2)

   If UCase(strdrop) = UCase(«/dropInherit») and objAce.AceFlags AND FOLDER_INHERITED_ACE Then
 
   Else 
    objOutFile.Writeline Date() & «;» & Time() & «;»»» & FolderPerm & «»»;»»» & objACE.Trustee.Domain & «» & objACE.Trustee.Name & «»»;» & strCPerm & «;» & strSPerm & «;» & strTypePerm  & «;» & strInherit & «;» & strErros
 
   
    strFile = strDirectory & «» & objACE.Trustee.Name &».TXT»
    If objFSO.FileExists(strFile) Then
    Else
       desquerygroup = «dsquery group -samid » & chr(34) & objACE.Trustee.Name & chr(34) & » | dsget group -members -expand | dsget user -samid -display> » & strFile
       wshShell.Run  «cmd.exe /C » & desquerygroup
       
    End if
   End if 
  Next
 End If
End Sub

un Saludo!

Windows Assessment and Deployment Kit

lunes, 15 de octubre de 2012 Comments off

Hola a todos,

Vamos a ver una de las herramientas que más se utilizan en el departamento IT de una organización mediana/grande y que sin ella, sería imposible afrontar proyectos de migración de versiones de Windows Desktop.

Windows Assessment and Deployment Kit, es un conjunto de herramientas que nos brinda Microsoft y para validar, personalizar e instalar sistemas operativos Microsoft en nuestra plataforma.

Con la salida de Windows 8 y Windows 2012, se han actualizado alguna de estas herramientas, al igual que SCCM 2012 que se ha actualizado con SP1 para desplegar Windows 8 y 2012.

ADK incorpora las siguientes herramientas:

La plataforma en donde se tiene que instar son las siguientes:

  • Windows 8
  • Windows 7
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008

Se requiere Microsoft .NET Framework 4.
Aunque se recomienda, instalarlo en un entorno servidor (Windows Server 2008 R2 o Windows Server 2012).