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, 27 de octubre de 2017

Error 32 CD DVD


Un error se observa en el administrador de dispositivos de Windows para la unidad de CD/DVD

A driver (service) for this device has been disabled. An alternate driver may be providing this functionality. (Code 32).

Se debe realizer la modificacion en la llave de registro

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\cdrom]
En el valor Start se cambia por 1

Se puede ejecutar en modo administrador desde CMD

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\cdrom" /v start /t REG_DWORD /d 1 /f 


Reiniciamos el equipo y el error deberia dejar de aparecer



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

jueves, 28 de septiembre de 2017

Script examinar eventos windows bloqueo de usuarios


Generalmente algunos usuarios finales dejan grabadas en algunos sitios sus contraseñas y cuando se lleva a cabo el cambio de las mismas se presentan errores por bloqueo de usuario en el directorio activo

Este script es una adaptacion de alguno encontrado en la web, desafortunadamente no pude volver al sitio para citar su referencia, pero nos isrve para identificar usuarios bloqueados en el Directorio Activo.

Basicamente nos arrojara un listado en el archivo Eventosdebloqueo.txt mostrándonos quien, donde, y cuando; lo anterior significa nombre de usuario, desde que maquina y fecha del evento.

Copiar y crear archivo .PS1 y ejecutar o copiar en powershell ISE y ejecutar incluyendo el FQDN del controlador de dominio donde se quiere validar el bloqueo.


$logfile="Eventosdebloqueo.txt"
write-host "Recuperando eventos del Domain Controler..."
$lockoutevents=Get-WinEvent -ComputerName NOMBRECONTROLADORDEDOMINIO -FilterHashtable @{LogName='Security';Id=4740} -erroraction silentlycontinue
if ($lockoutevents -ne $null)
{
foreach ($event in $lockoutevents)
{
$quien=$Event.Properties[0].Value
 $cuando=get-date($Event.TimeCreated) -uformat "%d/%m/%Y %H:%M:%S"
$donde=$Event.Properties[1].Value
out-file $logfile -input "$cuando $quien $donde" -append
}#fin foreach events

}#fin if events not null



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, 13 de marzo de 2017

Cambiar DNS masivamente

Surge la necesidad de cambiar los DNS de una serie de servidores que tienen IPv4 estatica, para esto y analizando la informacion con la que contamos podemos determinar que:

  • Conocemos al menos una direccion DNS en comun de todos los servidores a los que requerimos realizar el cambio.
  • Tenemos las direcciones DNS nuevas a implementar
  • Tenemos el listado de servidores (o listados de direcciones IP) a los que realizaremos la operacion de cambio.

Ya claros los puntos anteriores procederemos a crear nuestro script powershell en donde:
  • La direccion DNS en comun ya configurada es la de un ISP de Colombia 200.75.51.132
  • El listado de servidores lo almacenaremos en un archivo nombrado all.txt.
  • Las direcciones DNS nuevas seran las de Google 8.8.8.8 y 8.8.4.4
Asi pues crearemos un archivo (en block de notas puede ser, aunque yo prefiero usar PowerShell ISE)

$Servidor =Get-Content all.txt
$dns = "8.8.8.8";"8.8.4.4"
$Interface =Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Servidor | Where-Object {$_.DNSServerSearchOrder -contains "200.75.51.132"}
$Interface.SetDNSServerSearchOrder($dns)

Guardamos con extension .ps1 en la misma ruta donde se encuentra nuestro listado de servidores all.txt y ejecutamos desde PowerShell.

Lo que hara este Script, es cambiar la configuracion de  todas las tarjetas de red que cumplan con la condicion de que una de sus direcciones DNS sea igual a 200.75.51.132, por las direcciones DNS de google 8.8.8.8 y 8.8.4.4.

Espero a alguno le sea util
¡Hasta la proxima!

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


jueves, 9 de febrero de 2017

Conocer espacio libre en Discos Duros con powershell

Surge la nececidad de conocer el  espacio libre en Discos Duros de un listado de servidores con sistemas operativos windows, es por esto que recurrimos a con powershell y sin importar la cantidad de servidores todo esto se logra con una simple linea de codigo:

Get-WMIObject Win32_LogicalDisk  -ComputerName (Get-Content all.txt) | Where-Object {$_.DriveType -match "3"} | Where-Object {$_.FreeSpace -lt 1000GB} | Format-Table PsComputerName,deviceID,Size,FreeSpace | tee -filePath estado.txt


¿como funciona?

El cmdletGet-WMIObject realiza la captura de datos de Win32_LogicalDisk (todas la unidades del equipo, discos duros, unidades de DVD, Blue-ray, etc..) del listado especificado por -ComputerName en el archivo de texto all.txt (Get-Content all.txt). 
En el archivo all.txt se coloca el listado de hostname de equipos a consultar uno debajo del otro (o listado de IP's).
Luego se limita la busqueda con  Where-Object {$_.DriveType -match "3"} a las unidades de tipo Hard Disk y se limita con  Where-Object {$_.FreeSpace -lt 1000GB} a que solo muestre los resultados de espacio libre menor al que indiquemos, en este caso esta menos a una Tera mas o menos  -lt 1000GB, yo lo dejo en 10GB el cual es un umbral de espacio para empezar a tener cuidado en los servidores que se estan administrando, pero cada quien pone el valor de su conveniencia, y si quitan esta ultima linea mostrara el listado sin importar espacio libre.
Ahora con  Format-Table PsComputerName,deviceID,Size,FreeSpace damos el formato de salida de los datos que queremos y por ultimo con tee -filePath estado.txt exportamos nuestro datos encontrados al archivo estado.txt,


Ahora recordarles que powershell en equipos de escritorio viene con una politica de restriccion restringida por lo cual lo primero que hacemos es abrir powershell en Run As administrator y ejecutamos la siguiente linea:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Ahora podemos descargar los siguientes archivos en donde se encontraran los siguientes Archivos:

  • all.txt                   Archivo donde se debe colocar el listado de equipos a revisar
  • discos.ps1           Archivo de PowerShell listo para ejecutar modificar tamaño a buscar
  • discos.xlsx          Archivo de excel el cual importa los datos de estado.txt
  • estado.txt           Archivo que genera el Script de powershell con los resultados
Descargar zip con archivos

Se deben ubicar los archivos en la misma carpeta (se puede crear una carpeta llamada discos en C:\)
Se abre PowerShell y nos ubicamos dentro de la carpeta con

cd c:\discos

y ejecutamos nuestro script con

.\discos.ps1

Luego abrimos el archivo de Excel y desde alli actualizamos los datos desde la pestaña Datos y la opcion Actualizar todo


Luego seleccionamos nuestro archivo generado estado.txt e importamos



Despues de realizar la importacion arrastramos la formula de la celda E4 hasta el final de nuestra lista de datos.


Nos arrojara el resultado en porcentaje de espacio libre con escala de color de acuerdo a los parametros establecido en los cuales apareceran en rojo los valores de menor valor.


Espero a alguno le sea util
¡Hasta la proxima!

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


viernes, 27 de enero de 2017

Obtener la direccion IP de un equipo desde Excel

Surge la necesidad de obtener la direccion ip de varios servidores partiendo de su nombre, por tal motivo se require realizir un ping a cada uno de los hostname y obtener asi la dirección IP, cuando son dos o tres es fácil, cuando el número de hostame supera los 50 o 100 la situación se complica un poco es por eso que surfeando la web encontré un modulo de Excel en el cual me base para poder realizar la acción requerida.

El post realizado por  Juan Carlos Gonzalez Chavarria http://www.todoexpertos.com/usuarios/jcgonzalez31 

Y el modulo modificado quedo así:

Public Function ip_Equipo(str_Equipo As String) As String
'Esta función recibe un nombre de equipo (hostname) y, por medio de PING,nos devuelve la IP del mismo
Dim obj_Shell As Object 'Objeto shell para ejecutar ping y enviar la salida a un fichero
'temporal
Dim obj_FileSystem As Object 'Objeto FileSystem para abrir y borrar el fichero temporal
Dim obj_Fichero As Object 'Objeto File para leer el fichero temporal
Dim str_ContenidoFichero, sinespacio1, sinespacio2, espacio, espacio1 As String 'variable de trabajo
'Creamos los objetos FileSystem y Shell
Set obj_Shell = CreateObject("WScript.Shell")
Set obj_FileSystem = CreateObject("Scripting.FileSystemObject")
'Establecemos el fichero temporal en la ruta de este libro de Excel y con el nombre "temp.txt"
str_FicheroTemporal = ThisWorkbook.Path & "\temp.txt"
'Ejecutamos el ping volcando la salida en el fichero temporal. Sólo esperaremos un eco ("-n 1")
obj_Shell.Run "cmd /c ping -n 1 " & str_Equipo & " > """ & str_FicheroTemporal & """", 0, True
'Abrimos el fichero temporal sobre el objeto fichero
Set obj_Fichero = obj_FileSystem.OpenTextFile(str_FicheroTemporal, 1, False)
'Volcamos el contenido del fichero temporal en str_ContenidoFichero
str_ContenidoFichero = obj_Fichero.ReadAll
'Cerramos el fichero temporal y vaciamos su variable
obj_Fichero.Close
Set obj_Fichero = Nothing
'Borramos el fichero temporal y vaciamos los objetos Shell y FileSystem
obj_FileSystem.DeleteFile (str_FicheroTemporal)
Set obj_FileSystem = Nothing
Set obj_Shell = Nothing
'Si encontramos la cadena "perdidos = 0 ó Lost = 0" de acuerdo al idioma de nuestro sistema significa que el equipo respondió
'y por lo tanto trabajamos con la cadena de texto recibida
If InStr(str_ContenidoFichero, "Lost = 0") > 0 Then
'Buscamos el caracter "]" para saber la posicion de la direccion ip en la cadena de caracteres
espacio = InStr(str_ContenidoFichero, "]")
'recortamos nuestra cadena hasta la posicion del caracter "]" - 1 desde la izquierda
'recordemos qu el ping nos arroja un mensaje en su primera linea de la forma: Pinging nom_equipo [xxx.xxx.xxx.xxx] with 32 bytes of data:
'al buscar y cortar la cadena nos quedara almacenado en la variable sinespacio1 la cadena: Pinging nom_equipo [xxx.xxx.xxx.xxx
sinespacio1 = Left(str_ContenidoFichero, espacio - 1)
'ahora contamos el numero de caracteres que nos quedaron en nuestra cadena de texto
espacio1 = Len(sinespacio1)
' Averiguamos la posicion del caracter "[" el cual indica el inicio de la direccion IP
espacio = InStr(sinespacio1, "[")
' restamos la posicion del caracter "[" del largo total de la cadena
espacio = espacio1 - espacio
'Cortamos nuestra cadena de texto desde la derecha hasta la posicion resultante de la resta
sinespacio2 = Right(sinespacio1, espacio)
'enviamos la ip obtenida a la celda
ip_Equipo = sinespacio2
'si no se encuentra la cadena "perdidos = 0 ó Lost = 0" es porque no se concretó el PING
Else
ip_Equipo = "No ping"
End If
End Function


Forma de empleo:


  •     En Excel debemos tener habilitado el modo desarrollador
  •     Se crea un nuevo modulo
  •     Se crea una columna con los nombres de los equipos
  •     En una columna diferente se llama la funcion de la forma  ip_Equipo(celda_nombre equipo)por ejemplo  ip_Equipo(A2)
 "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...


jueves, 11 de septiembre de 2014

Internet Explorer 11 dejo de funcionar

La falla se presenta por la actualizacion de seguridad de internet explorer KB2977629.

Para solventar la falla se debe desinstalar esta actualizacion 
Para abrir Actualizaciones instaladas, haga clic en el botón Inicio, en Panel de control, en Programas y, a continuación, bajo Programas y características haga clic en Ver actualizaciones instaladas. 

Alli aparecera un listado por aplicaciones de microsoft (office, Windows, etc...), buscar en la seccion de windows la actualizacion de seguridad KB2977629, seleccionela y, a continuación, haga clic en Desinstalar.

Reinicie la maquina.

Para abrir Windows Update, haga clic en el botón Inicio. En el cuadro de búsqueda, escriba Update y, a continuación, en la lista de resultados, haga clic en Windows Update.
En el panel izquierdo, haga clic en Buscar actualizaciones.
Cuando Windows encuentre actualizaciones para el equipo, realice una de las siguientes acciones:

  •  Haga clic en el vínculo que indique que hay actualizaciones importantes disponibles si tiene ocultas las actualizaciones importantes. 
  • Haga clic en el vínculo que indique que hay actualizaciones opcionales disponibles si tiene ocultas las actualizaciones opcionales. 
  • Haga clic con el botón secundario en la actualización KB2977629 y haga clic en Ocultar actualización. 
  • La próxima vez que busque actualizaciones, no se seleccionará ni instalará automáticamente la actualización. 
  • Se requiere permiso de administrador Si se le solicita una contraseña de administrador o una confirmación, escriba la contraseña o proporcione la confirmación.

 "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...

martes, 4 de febrero de 2014

Fecha de creación y actualización de Paginas en Mahara E-portafolio

Tomado del

BLOG DE TONI SOTO

 Link del texto Original:
http://www.tonisoto.com/?p=605
Para los que no saben que es Mahara lo invito a visitar:
https://wiki.mahara.org/index.php/Documentaci%C3%B3n_en_Espa%C3%B1ol

Resumiendo Mahara es una herramienta que nos permite crear portafolios en linea para hacer seguimiento de las actividades realizadas por los estudiantes de una institución.

El día de ayer se presento un pequeño percance debido a ciertas obligaciones por parte de un estudiante que no fueron cumplidas a tiempo, y el estudiante notifico al docente que este había cometido un error y que la labor había sido publicada a tiempo y que debía cambiar la nota.
Algunos Docentes establecen fechas limites para que los alumnos creen sus paginas de evidencia, pero mahara no viene provisto de un control de fechas o un log de seguimiento por lo cual investigue un poco encontrándome con un gran Blog: El blog de toni soto .  Allí encontré la solución a mi problema aunque le añadí unos retoque para que se ajustara mas a mi realidad.

A continuación una pequeña traducción con los ajustes realizados quedando así:




Así lo hizo Toni Soto:
(Traducción realizada por mi, pido disculpas a Toni si no lo hice bien ;))
########################################
# Hacking Mahara 1.8.1 to display ‘last update’ on pages #
########################################
Necesitamos modificar estos dos archivos:
a.- www.mahara/view/view.php (Lines 359, 360 and 361)
b.- www.mahara/theme/raw/templates/view/view.tpl (Lines 37 and 38)

a.- Primero adicionar las lineas en azul al archivo /view/view.php (Lineas 359, 360 y 361). 

if ($viewgroupform) {
    $smarty->assign('view_group_submission_form', $viewgroupform);
}
# Hack: 2 lines added to display 'last update' on pages
$smarty->assign('datecreation', $view->get('ctime'));
$smarty->assign('datemodifica', $view->get('mtime'));

$smarty->display('view/view.tpl');

b.- Luego agregar las lineas en fucsia al archivo /theme/raw/templates/view/view.tpl (Lineas 37 y 38). 

{if $tags}<div><label>{str tag=tags}:</label> {list_tags owner=$owner tags=$tags}</div>{/if}

<!-- //Hack: 1 line added to display 'last update' on pages --->
<div><label>{str tag=Created}</label> {$datecreation}</div>
<div><label>{str tag=Updated}</label> {$datemodifica}</div>

{if $releaseform}<div>{$releaseform|safe}</div>{/if}
{if $view_group_submission_form}<div>{$view_group_submission_form|safe}</div>{/if}

Aqui realice mi modificación para visualizar tanto la fecha de creación como la de actualización, el código original de Toni Soto es:

<!-- //Hack: 1 line added to display 'last update' on pages --->
{if $datemodifica == $datecreation}<div><label>{str tag=Created}{else}<div><label>{str tag=Updated}{/if}</label> {$datemodifica}</div>

es de acuerdo a la necesidad de cada quien cual código elegir.
Ya con esto podemos visualizar las fechas y hacer un seguimiento mas real a las actividades propuestas a los estudiantes.

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

lunes, 5 de agosto de 2013

Cambiar pagina predeterminada en nueva pestaña de Firefox

Aveces queremos que al abrir una nueva pestaña Firefox nos cargue una pagina que nosostros queramos, pero desde opciones solo podemos cambiar la pagina de inicio, ¿ Y entonces?

Pues para realizar esta accion solo debemos:

  • Abrir una nueva pestaña y escribimos en la barra de direcciones  about:config  y presionamos Enter .
  • Nos saldra un aviso algo como:  "¡Zona hostil para manazas!" 
  •  Hacemos clic en ¡Tendré cuidado, lo prometo! para continuar. 

  •     Escribe browser.newtab.url en la barra de búsqueda.


  • Haz doble clic sobre la preferencia  browser.newtab.url y puedes colocar about:blank. si quieres que la pestaña abra con una pagina en blanco, o si lo prefieres puedes escoger la URL del sitio web que deseas como pagina de inicio. Algo asi como, http://www.cybermcp.blogspot.com por ultimo hacemos clic en Aceptar y cerramos la pestaña de about:config tab.

  • Ahora al abrir una nueva pestaña nos abrira con http://www.cybermcp.blogspot.com como pagina predeterminada.

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