Mostrando entradas con la etiqueta BAT. Mostrar todas las entradas
Mostrando entradas con la etiqueta BAT. Mostrar todas las entradas

miércoles, 14 de marzo de 2018

Bat limpiar CCMcahe y temporales actualizaciones SCCM

En un despliegue de actualizaciones de windows por medio de System Center Configuration Manager, se generan una serie de archivos que poco a poco consumen nuestro almacenamiento en disco, en el ambiente actual de la empresa para la que laboro, el ccmcache se puede encontrar en dos ubicaciones:
Ruta por defecto:
  •  C:\windows\ccmcache
Ruta personalizada(para equipos con poco espacio en C:)
  • D:\ccmcache
Como mensualmente se realiza el despliegue de las actualizaciones liberadas por Micrososft se requiere liberar esapcio en disco, ya que nos encontramos a tope en cuestion de espacio libre.
Para esto se creo un sencillo .BAT que depuera las ubicaciones involucradas en un proceso de instalacion de actualizaciones:

ccmcache y C:\Windows\SoftwareDistribution\Download

La forma de ejcucion puede ser variada, se puede ejecutar con PSExec, por GPO, por una tarea programada o desde el mismo SCCM por medio de una tarea, lo que si se debe tener en cuenta es que se debe ejecutar con privilegios elevados (Ejecutar como administrador)

El bat es el siguiente:

@echo OFF
echo Espere Mientras se ejecuta el proceso.....
REM Creamos titulo de ventana
TITLE Depuracion CCM Cache
REM PING 1.1.1.1 -n 1 -w 3000 >NUL

REM Verificacion existencia CCMCache
set sca=D:\ccmcache
if exist "%sca%" (goto OTRA
) ELSE (set sca=%WINDIR%\ccmcache)

if exist "%sca%" (goto WIN
) ELSE (goto fin)

:WIN
del %WINDIR%\ccmcache\* /s /q
FOR /D %%p IN ("%WINDIR%\ccmcache\*.*") DO rmdir "%%p" /s /q


goto Distri
:OTRA
del D:\ccmcache\* /s /q
FOR /D %%p IN ("D:\ccmcache\*.*") DO rmdir "%%p" /s /q

goto Distri
:Distri
del %windir%\SoftwareDistribution\Download\* /s /q
FOR /D %%p IN ("%windir%\SoftwareDistribution\Download\*.*") DO rmdir "%%p" /s /q


:fin
cd c:\%homepath%


Espero a alguno le sea util este post
¡Hasta la proxima!


Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"

 visitando nuestros anunciantes, agradeces nuestro trabajo...

viernes, 19 de mayo de 2017

Instalar actualizaciones Windows con powershell y PSexec

En esta ocasión por solicitud de nuestro cliente debimos corres de forma masiva la aplicación de un parche de seguridad debido a la amenaza del virus Wanna Cry de acuerdo a el boletín de seguridad de Microsoft MS17-010 se requiere la aplicación de unas actualizaciones de seguridad para solventar la vulnerabilidad de la cual el ya nombrado virus se aprovecha para ingresar a los equipos e iniciar su siniestro proceso.

Pero en ciertas redes no hay configuada una estrategia de actualizaciones automaticas generalmente WSUS, o por la cantidad de actualizaciones pendientes y por motivos de algunas aplicaciones no es factible el despliegue masivo de todas las actualizaciones de una vez, por lo cual se genero un script de powershell hibrido (con algo de bat y el uso de psexec) para realizar esta actividad.

para ello también necesitamos:

  • PSTOOLs de  Sysinternals la cuales se descargan  Aqui. lo descomprimimos en C: de modo que nos quede C:\PSTools y verificacamos que dentro de C:\PSTools\ se encuentre psexec.exe
  • Parche de Windows para W7 32 bit  windows6.1-kb4012212-x86_Wi7.msu el cual renombraremos al descargar para acortar un poco el nombre, yo lo renombre como w7-kb4012212-x86.msu (o cualquier parche que requieran ;))
  • Se requiere un archivo de texto el cual llamaremos listado.txt en el cual colocaremos los nombres de los equipos a verificar uno debajo del otro: EJ.
           equipo1
           equipo2
           equipo3
           etc....

Para ver el script que nos informe los equipos que faltan de esta actualizacion revisa el  Post anterior

luego crearemos el archivo update.ps1 con el siguiente código:


$equipo = (Get-Content listado.txt)
#asignar la ruta compartida donde almacenamos el msu, con su respectivo nombre
$ruta = '\\nombre_servidor\ParchesMS17-010\Windows7\windows6.1-kb4012212-x86_Windows_7x86.msu'

foreach ($pc in $equipo){
CMD /C "sc \\$pc config wuauserv start= auto"
CMD /C "sc \\$pc start wuauserv"

    if (Test-Path "\\$pc\c$"){
        Write-Host "Processing $pc..."
        # copiando
        Copy-Item $ruta "\\$pc\c$"
        & C:\PSTools\PsExec -s \\$pc wusa C:\windows6.1-kb4012212-x86_Windows_7x86.msu /quiet /norestart
        # Eliminamos archivo msu local
        Remove-Item "\\$pc\c$\windows6.1-kb4012212-x86_Windows_7x86.msu"
        Start-Sleep -s 5
        CMD /C "sc \\$pc config wuauserv start= disabled"
        CMD /C "sc \\$pc stop wuauserv"
        
    } else {
        Write-Host "Sin acceso a la Unidad C"
    }
}

los dos archivos se almacenaran en la misma ubicación del servidor desde el cual vamos a correr la actividad, una vez alli ejecutaremos una instancia de powershell como administrador y nos ubicaremos en la carpeta donde guardamos nuestros archivos.

Llego el momento de iniciar la tarea, Ejecutamos

.\update.ps1

Si todo salio bien nos puede arrojar dos errores:

error 3010 : actualizacion instalada  REBOOT_REQUIRED: 
error 2359302 actualizacio ya se encontraba instalada.

Espero a alguno le sea util este post
¡Hasta la proxima!


Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"

 visitando nuestros anunciantes, agradeces nuestro trabajo...




miércoles, 17 de mayo de 2017

Verificar instalacion de actualizacion kb4012212 MS17-010 remotamente

En estos días se ha vuelto muy famoso el nombre Wanna Cry, debido a que logro tomar una vulnerabilidad de microsoft e ingresar su ataque a varias redes a nivel mundial, microsoft desde Marzo en su boletin MS17-010 ya habia advertido sobre esta vulnerabilidad.

Todo el asunto se reducía a instalar la actualización (hotfix o parche) kb4012212.

Aclaración
La instalacion de esta actualizacion de seguridad impide la ejecucion remota del virus, pero en ningún caso reemplaza las medidas como personas pensantes que debemos tomar para que se ejecute localmente con autorizacion del usuario (que realmente es la mayoria de los casos de infeccion).

Ahora en un ambiente que no se cuente con WSUS, se requiere hacer manualmente la búsqueda en los equipos de cuales faltan por esta actualización.
Vamos a revisar dos opciones:
1.  Buscar Equipos que tienen instalada la actualización.
2.  Buscar equipos a los que le falta la actualización

Paso 1

Se requiere un archivo de texto el cual llamaremos listado.txt e el cual colocaremos los nombres de los equipos a verificar uno debajo del otro: EJ.
           equipo1
           equipo2
           equipo3
           etc....

Opción 1.

Ahora podemos crear un archivo PS1 de powershell o llanamente copiar la siguiente linea y ejecutarla en la terminal de powershell

Get-hotfix -Id "kb4012212" -ComputerName (Get-Content listado.txt)  | Format-Table PSComputerName,Description, HotFixID,InstalledOn | tee -filePath kb.txt

El anterior comando nos generara un archivo llamado kb.txt el cual contendrá el listado de equipos que tienen el kb buscado instalado

PSComputerName      Description     HotFixID         InstalledOn          
--------------                 -----------         --------              -----------          
equipo1                       Update           kb4012212       22/12/2016 12:00:00 a.m.
equipo2                       Update           kb4012212       22/12/2016 12:00:00 a.m.
equipo3                       Update           kb4012212       22/12/2016 12:00:00 a.m.

Asi sabremos que equipos cuentan ya con la actualización recomendada por Microsoft (igual nos sirve para buscar cualquier actualización que se requiera)

Opción 2.

Procedemos a crear nustro archivo .ps1 el cual en este caso llamare kbless.ps1, y tendra el siguiente contenido:

$A = Get-Content "listado.txt"
$A | ForEach { if (!(Get-HotFix -Id "kb4012212" -ComputerName $_)) { Add-Content $_ -Path "falta.txt" }}

ahora ejecutaremos el script, el cual nos arrojara un archivo de texto con el nombre falta.txt en el cual estaran listados los equipos en los cuales no se encontro instalado el KB4012212 (o cualquiera que necesitemos buscar)


Espero a alguno le sea util este post
¡Hasta la proxima!


Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"
 visitando nuestros anunciantes, agradeces nuestro trabajo...




lunes, 29 de septiembre de 2014

Consultar puertos COM en uso

Hay veces que se requiere saber los puertos COM que estan en uso en el computador, una opcion es por el administrador de dispositivos, pero si vamos a guiar a un usuario a realziar esta verificacion puede resultar un poco engorroso.

Una forma un poco mas rapida es enviarle un bat cuyo contenido sea:

reg query HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
pause


con esto obtendremos el listado de los puertos COM que se encuentran en uso.

Tener en cuenta que si nos arroja un mensaje informando que no se encontró el registro es por que no tenemos en uso ningún puerto COM.


 "Si te fue útil la información HAZ CLICK EN LA PUBLICIDAD DE GOOGLE" visitando nuestros anunciantes, agradeces nuestro trabajo...


miércoles, 26 de febrero de 2014

Bat para activar y desactivar proxy en Windows

Las necesidades surgen y .bat da para todo, estos archivos son uno de los puntos de apoyo fundamentales para muchas de nuestras labores diarias.

Nuestro requerimiento era sencillo, acababa de implementar el servidor proxy y se encontraba configurado en modo transparente, (navega normalmente por el puerto 80) esto no permite que la restricción sea completa o satisfactoria ya que no deja aplicar ciertos parámetros sobre las configuraciones establecidas, por lo cual era necesario activar el proxy  completamente.

El problema: la mayoría de usuarios manejan sus portátiles personales, y al hacer la activación del proxy se debería configurar todas las mañanas y desactivar todas las tardes en cada equipo.

La solución: UN .BAT =)
No olvides reemplazar XX.XX.XX.XX:PPPP por la direccion IP del proxy seguida del puerto del tipo 192.168.1.2:8080
Los comentarios inician con la palabra REM seguir instrucciones de estos comentarios

(Actualizado 04 de Agosto de 2017)
Se realiza inclusión de Exepciones  por solicitud de talamiles
(Actualizado 26 de Mayo de 2017)
Se realiza inclusión de activación casilla "no usar proxy para direcciones locales"  por solicitud de ricardinhos


@echo off
:menu
cls
echo.
REM Creamos un menu
echo Seleccione una opcion:
echo.
echo 1: Activar Proxy.
echo.
echo 2: Quitar Proxy.
echo.
echo.
REM de acuerdo a nuestra eleccion se realiza la accion solicitada.
@set /p opcion=
echo.
REM opcion 1 comando para activar el proxy por registro
if %opcion%==1 (
cls
@echo Estado
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
REM remplazamos las X por la direccion IP de servidor proxy y las P por el puerto a utilizar en el proxy
REM NO OLVIDAR LOS DOS PUNTOS
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d "XX.XX.XX.XX:PPPP" /f
REM si se tiene algunas IPs para exepcion cambiar las x1 y las x2 por la ip 1 e ip 2, se pueden adicional las ip que se deseen separadas por punto y coma
REM si no se van a añadir exepciones y solo  eliminar todo menos <local>
REM si no se requiere "no usar proxy para direcciones locales"  eliminar toda la linea siguiente
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "x1.x1.x1.x1;x2.x2.x2.x2;<local>" /f
@echo Proxy activado y configurado
pause
REM iniciamos internet explorer para poder confirmar la configuracion en todo el sistema (otros browser)
"%programfiles%\Internet Explorer\iexplore.exe"
goto salida)
REM la opcion 2 deshabilita el proxy.
if %opcion%==2 (@echo Estado
cls
@echo off
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
echo.
@echo Proxy desactivado
pause
REM iniciamos internet explorer para poder confirmar la configuracion en todo el sistema (otros browser)
"%programfiles%\Internet Explorer\iexplore.exe"
goto salida)
:salida


(la version anterior presentaba fallas de interlineado lo cual proporcionaba errores al momento de su ejecucion)
Tomamos este código o pegamos en un block de notas y lo guardamos como proxy.bat. y lo distribuimos a los usuarios que requieran esta configuración.

Para dejarlo mas "Bonito" podemos usar bat2exe para convertirlo en un ejecutable e impedir así la modificación del código.



 "Si te fue útil la información HAZ CLICK EN LA PUBLICIDAD DE GOOGLE" visitando nuestros anunciantes, agradeces nuestro trabajo...

miércoles, 29 de febrero de 2012

Creacion de Archivo .Bat con nombre fecha y hora

Se quería tomar las imágenes recién escaneadas en una carpeta especifica, comprimirías con un nombre de la fecha y hora de la compresión y moverlas a otra carpeta con el mismo nombre de la carpeta zip, así se llevaría un registro de las veces que se hiciera la acción. (para aclarar la necesidad, se requería hacer escaneo diario de imágenes e inmediatamente después realizar el envío de las mismas a un correo electrónico esto se realizo con otro programa)

Se debe tener instalado 7-zip

Para ello escribí el siguiente .bat

@echo OFF
echo Espere Mientras se ejecuta el proceso.....
REM Creamos titulo de ventana
TITLE Digitalizacion BAT1.14.12

REM Detenemos procesos de escaner mirando en los procesos del adm de tareas sus nombres
qprocess nombre proceso.exe >nul 2>&1 && (TASKKILL /F /IM nombre proceso.exe)
qprocess nombre proceso2.exe >nul 2>&1 && (TASKKILL /F /IM nombre proceso2.exe)

REM demoramos 3 segundos mientras se cierran los procesos
PING 1.1.1.1 -n 1 -w 3000 >NUL

REM Creacion de carpetas de trabajo scanner si ya existe termina el bat
set sca=%HOMEPATH%\Mis documentos\MISIMG~1
if exist "%sca%\scanner" (goto cop) else (md "%sca%\scanner" & md "%sca%\scanner\Enviadas" & goto fin)

:cop
REM Nos ubicamos en la carpeta de trabajo
cd "%HOMEPATH%\Mis documentos\MISIMG~1\scanner"
REM listamos todos los archivos . Zip de la carpeta y los escribimos en lista.txt
dir *.zip/b >> lista.txt
REM verificamos si hay algun zip y lo movemos a la carpeta con el mismo nombre del archivo
FOR /F "TOKENS=1* DELIMS= " %%a in (lista.txt) do (set arc=%%a)
set nom=%arc:.zip=%
cd "%HOMEPATH%\Mis documentos\MISIMG~1\scanner"
del lista.txt
if exist "%arc%" (move %arc% "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\Enviadas\%nom%")

REM creamos una carpeta con nombre de fecha y hora actual
set sec=%time:~6,2%
for /f "tokens=1-5 delims=/: " %%e in ("%date%:%time%") do set archivo=%%e%%f%%g_%%h-%%i-%sec%
md "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\Enviadas\%archivo%"

REM comprimimos las imagenes y despues las movemos a la carpeta de archivo para registro
cd %PROGRAMFILES%\7-Zip
7z a -tzip "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\%archivo%.zip" "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\*.tif"
move "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\*.tif" "%HOMEPATH%\Mis documentos\MISIMG~1\scanner\Enviadas\%archivo%"
:fin

les dejo el codigo por si algun segmento le sirve a alguien, de igual forma solo es copiarlo en un block de notas y guardarlo como .bat

"Si te fue útil la información HAZ CLICK EN LA PUBLICIDAD DE GOOGLE" visitando nuestros anunciantes, agradeces nuestro trabajo...

lunes, 25 de abril de 2011

Solucionar Virus que Oculta Carpetas y no permite quitar el atributo oculto

Un virus con el que tropecé realizando la revisión de un equipo infecto mi USB ocultando todas las carpetas y bloqueando la casilla de "oculto" en sus propiedades. La solución desde la linea de comandos:

En xp, 2000, 2003 y toda esa linea ingresamos a la linea de comandos (inicio --> Ejecutar  y escribimos cmd )
En windows vista y seven se debe buscar el icono de cmd en la casilla de "Buscar programas y archivos"  en el menu inicio y procedemos a hacer click derecho para ejecutar como administrador.

nos ubicamos en la unidad asignada a el dispositivo USB e ingresamos el comando:
Attrib /d /s -r -h -s *.*
  Attrib: Comando que permite cambiar los atributos de un archivo en los S.O microsoft

 /S  Procesa archivos que coinciden en la carpeta actual y todas las carpetas.
 /D  Procesa carpetas.
-   Borra un atributo.
R   Atributo de sólo lectura del archivo.
H   Atributo de archivo oculto.  [unidad:][ruta][nombre-archivo]  Especifica el archivo o archivos que serán afectados por ATTRIB
S   Atributo de archivos del sistema.

¡Voila! nuestras carpetas en la USB como siempre.


"Si te fue útil la información HAZ CLICK EN LA PUBLICIDAD DE GOOGLE" visitando nuestros anunciantes, agradeces nuestro trabajo...