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

viernes, 27 de julio de 2012

[Solucionado] Desbloquear todos los usuarios bloqueados del servidor de dominio (Active Directory)

Si trabajas en una organización grande es común que un lunes en la mañana te llamen los usuarios indicando que bloquearon la contraseña para ingresar a su PC, por lo que hay que proceder a desbloquear el usuario y en menos de 5 minutos llama otro usuario indicando lo mismo. En otras ocasiones puede tratarse de una pesadilla de un virus como el Conficker que masivamente bloquea usuarios usuarios del dominio y queremos desbloquearlos a la brevedad mientras se investiga el origen del problema.

Existe un Visual Basic Script creado por Mohammed Alyafae (MCSE 2003 MCSA 2003 Messaging MCP CCNA MCTS 2008 Active Directory Configuration MCTS 2008 Network Infrastructure Configuration MCTS 2008 Application Infrastructure Configuration ITIL Network +) de Yemén, el cual permite desbloquear masivamente usuarios del dominio y es perfectamente compatible con: Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows 7, Windows Vista, Windows XP.

¿Cómo desbloquear usuarios masivamente del Directorio Activo (Active Directory)?
1. Abrir el Block de Notas (también llamado notepad).
2. Copie y pegue el siguiente script dentro del Block de Notas:
'==========================================================
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 2009 
' NAME: Unlock User accounts 
' AUTHOR: Mohammed Alyafae ,  
' DATE  : 9/22/2011 
' COMMENT: this script is to search for locked accounts and unlock them  
'==========================================================
Option Explicit 
On Error Resume Next 
Dim oQuery 
Dim objConnection 
Dim objCommand 
Dim objRecordSet 
Dim objUser 
Dim objRoot 
Dim NamingContext 
 
set objRoot = getobject("LDAP://RootDSE") 
NamingContext = objRoot.get("defaultNamingContext") 
oQuery = ";" & "(objectClass=user);adspath;subtree" 
 
'=======all the following lines are the same for every script==================== 
Set objConnection = CreateObject("ADODB.Connection") 
Set objCommand = CreateObject("ADODB.Command") 
objConnection.Open "Provider=ADsDSOObject;" 
objCommand.ActiveConnection = objConnection 
objCommand.CommandText = oQuery 
Set objRecordSet = objCommand.Execute 
'================================= 
 
While Not objRecordSet.EOF 
 
Set objUser=GetObject(objRecordSet(0)) 
 
If objUser.Isaccountlocked=True Then 
    WScript.Echo objRecordSet(0) 
    objUser.IsAccountLocked=False 
    objUser.SetInfo 
End If 
objRecordSet.MoveNext 
 
Wend 
 
objConnection.Close 
Set objUser=Nothing 

3. Guarde el archivo como Unlockaccounts.vbs
4. Ejecútelo con usuario que tenga los privilegios adecuados para desbloquear usuarios en el Dominio o usarlo desde el servidor de Active Directory de su empresa.

Cada vez que desbloquea un usuario aparecerá un mensaje indicando que usuario ha desbloqueado, si usted lo va a utilizar con el programador de tareas de Windows para que la tarea desbloquee los usuarios cada cierto tiempo, debe eliminar la línea que indica: WScript.Echo objRecordSet(0).

El script puede descargarselo directamente de la página de Microsoft desde aquí: http://gallery.technet.microsoft.com/scriptcenter/Unlock-User-accounts-48494fba/file/44315/1/Unlockaccounts.vbs

Existe una variante creada por el mismo autor, donde desbloquea el usuario, crea un archivo en C:\unLockedUsers.Log con el listado de usuarios desbloqueados, asigna la contraseña P@ssword y que obliga a cambiarla en el próximo inicio de sesión. NO UTILIZAR ESTE SCRIPT CON UNA TAREA PROGRAMADA: no se recomienda utilizar este script con una tarea programada, dado que un hacker o cualquier empleado puede ingresar al computador de alguien fácilmente si sabe que este script lo utilizan con una tarea programada.
Option Explicit
On Error Resume Next
Dim oQuery
Dim objConnection
Dim objCommand
Dim objRecordSet
Dim objUser
Dim objRoot
Dim objLogfile
Dim objFSO
Dim NamingContext
Dim strPassword


Const LOGFILE = "C:\unLockedUsers.Log"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLogfile = objFSO.CreateTextFile(LOGFILE,True)

strPassword="P@ssword"

set objRoot = getobject("LDAP://RootDSE")
NamingContext = objRoot.get("defaultNamingContext")
oQuery = ";" & "(objectClass=user);adspath;subtree"

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Open "Provider=ADsDSOObject;"
objCommand.ActiveConnection = objConnection
objCommand.CommandText = oQuery
Set objRecordSet = objCommand.Execute

While Not objRecordSet.EOF

Set objUser=GetObject(objRecordSet(0))

If objUser.Isaccountlocked=True Then
'WScript.Echo objRecordSet(0)
objUser.IsAccountLocked=False
objUser.SetPassword strPassword
objUser.Put "PwdLastSet", 0 
objUser.SetInfo
UpdateLogFile  objRecordSet(0)
End If
objRecordSet.MoveNext

Wend

objConnection.Close
Set objUser=Nothing

Sub UpdateLogFile(szMsg)
objLogfile.WriteLine  "Unclocked account   " & szMsg
objLogfile.WriteLine
End Sub 

martes, 3 de enero de 2012

[Solucionado] ¿Cómo quitar registros duplicados o crear una lista de registros únicos en Excel 2003?

Cuando Microsoft Excel importa o combina muchos registros, puede crear duplicados. En este artículo escrito por Microsoft se describe cómo crear una lista de recopilación de registros únicos.


Para crear una lista de recopilación de registros únicos, siga estos pasos:
  1. Seleccione los títulos de la columna por encima de las filas o registros que desea ordenar.
  2. En el menú Datos, seleccione Filtro y, a continuación, haga clic en Filtro avanzado. Si se pide confirmación con un mensaje similar al siguiente, haga clic en Aceptar.
    No se detectó ningún encabezado. ¿Supone que la fila superior de la selección es la de encabezado?
  3. En Acción, haga clic en Copiar a otra ubicación.
  4. Haga clic para activar la casilla Sólo registros únicos.
  5. En el cuadro Rango de la lista, escriba o seleccione el rango de registros (como A3:H10).
  6. En el cuadro Rango de criterios, escriba o seleccione el mismo rango de registros (es decir, A3:H10)
  7. En el cuadro Copiar a, escriba la dirección de la primera celda donde desee colocar la información o selecciónela. Asegúrese de que haya bastante espacio para no sobrescribir los datos.

    Nota: sólo puede hacer esto en la hoja activa.
  8. Haga clic en Aceptar.
Notas

Si el primer registro de datos originales está duplicado, aparece dos veces en la nueva lista. Basta con que oculte la primera línea.

Si realiza el comando Filtro avanzado en contexto, la hoja todavía contiene todos los registros. Se ocultan los registros duplicados. Para evitar este comportamiento, seleccione Filas en el menú Formato y, a continuación, haga clic en Volver a mostrar.


Más información: 
http://support.microsoft.com/kb/262277/es
http://yolosolucionoasi.blogspot.com/

viernes, 16 de diciembre de 2011

[Solucionado] Msg 22022, Level 16, State 1: SQLServerAgent no está en ejecución; no es posible notificarle la acción.

Si tenemos algunos trabajos de SQL que se deben ejecutar a una hora en específico y da el siguiente error:

Msg 22022, Level 16, State 1:
SQLServerAgent no está en ejecución; no es posible notificarle la acción.
Significa que el servicio de Agente de SQL Server no está iniciado, este servicio de forma predeterminada el servicio está en Manual, podemos cambiarlo a Automático para que inicie cada vez que inicie el computador.

¿Qué es el Servicio de Agente de SQL Server?:
Ejecuta trabajos, supervisa SQL Server y activa alertas, además de permitir la automatización de algunas tareas administrativas.
Ruta de ejecución del servicio de Agente SQL Server
"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\SQLAGENT90.EXE" -i NOMBRE_INSTANCIA
Según la solución que porpone la página de Microsoft en el artículo 911841:

Puede recibir un "Error 22022: SQLServerAgent no está en ejecución; por tanto no se puede recibir notificaciones de esta acción" mensaje de error cuando ejecuta un trabajo SQL Server Agent en SQL Server 2000

Si recibe este mensaje de error, primero asegúrese de que el servicio Agente SQL Server se está ejecutando. Para ello, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba Services.msc y, a continuación, haga clic en Aceptar .
  2. En la ventana servicios , busque el servicio Agente SQL Server.
  3. Asegúrese de que el valor de la columna de estado del servicio Agente SQL Server está ejecutando .
Si se está ejecutando el servicio Agente SQL Server, este problema se produce porque el servicio Agente SQL Server no puede interpretar la marca de punto (.) que representa el equipo local en la entrada de registro
ObjectName
en la siguiente subclave del registro. Para una instancia predeterminada, la subclave del registro es:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\
Para una instancia con nombre, la subclave del registro es:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$InstanceName\
Nota InstanceName es un marcador de posición para la instancia de SQL Server.

miércoles, 14 de diciembre de 2011

[Solucionado] ¿Cómo iniciar Microsoft Internet Explorer 8 o Internet Explorer 9 en modo inPrivate de forma predeterminada?


El modo de navegación InPrivate de Microsoft Internet Explorer 8 y 9 ayuda a evitar que el historial de navegación, la caché de archivos temporales, los datos de formularios, las cookies, y nombres de usuario y contraseñas puedan ser retenidos por el navegador. De esta forma, toda la caché se borra automáticamente cuando se cierra la ventana de InPrivate
  1. Clic en el menú Herramientasy elige Exploración de InPrivate.
  2. Pulsa en el botón Seguridad de la barra de comandos y, en el menú contextual que aparece, elige Exploración de InPrivate.
  3. Pulsa en el botón Exploración de InPrivateque hallarás en la barra de comandos.
  4. Abre una nueva pestaña y, a continuación, en la página de la nueva pestaña, pulsa en Abrir una ventana de exploración de InPrivate.
  5. Pulsa las teclas de método abreviado CTRL+MAYÚS+P.
  6. En Windows 7, pulsa con el botón derecho del ratón en el icono de IE8/IE9 de la super barra de tareas y, en el menú contextual que aparece, elige Iniciar la exploración de InPrivate.


  7. Ejecuta el siguiente comando desde el cuadro de diálogo Inicio / Ejecutar, o también desde el cuadro Buscar programas y archivos del menú Inicio en Windows Vista y Windows 7:

    iexplore -private

Pero, además, existen otras formas de iniciar una ventana de exploración InPrivate de forma predeterminada, válidas tanto para Windows XP, como para Windows Vista y Windows 7:


CREANDO UN ACCESO DIRECTO EN EL ESCRITORIO

Desde el Escritorio, crea un nuevo Acceso Directo y en la casilla Escriba la ubicación del elemento, escribe este comando tal cual:


"%programfiles%\Internet Explorer\iexplore" -private 

pulsa en Siguientey ponle un nombre al acceso directo: Exploración InPrivate. Pulsa en Finalizar. Este icono de acceso directo a InPrivate puedes colocarlo donde más te guste (en el Escritorio, en la Barra de tareas o en el menú de Inicio).



AGREGANDO LA OPCIÓN EXPLORAR EN MODO INPRIVATE AL ICONO DE INTERNET EXPLORER DEL MENÚ INICIO COMO PREDETERMINADO

Es posible agregar al icono de Internet Explorer del menú Inicio la opción de Exploración InPrivate como método predeterminado (sólo en Windows XP y Windows Vista). Es decir, al pulsar este icono, se abrirá IE en una ventana InPrivate. Para ello, debes hacer un ajuste desde el registro de windows: inicia el Bloc de notas (notepad) y escribe el siguiente contenido:


Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell]
@="private" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\private]
@="Explorar en modo InPrivate" [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\private\command]@=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,\
00,73,00,25,00,5c,00,49,00,6e,00,74,00,65,00,72,00,6e,00,65,00,74,00,20,00,\
45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,5c,00,69,00,65,00,78,00,70,\
00,6c,00,6f,00,72,00,65,00,2e,00,65,00,78,00,65,00,20,00,2d,00,70,00,72,00,\
69,00,76,00,61,00,74,00,65,00,00,00

Guarda el archivo con el nombre InPrivate_menu_Inicio.reg, y ejecútalo para introducir las órdenes en el registro. 



Para revertir los cambios hechos a este icono, crea y ejecuta este otro archivo de registro:
Windows Registry Editor Version 5.00 

[-HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\private] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell]
@="open" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell]
@=-



INICIAR INTERNET EXPLORER 8 Y 9 EN MODO INPRIVATE DE FORMA PREDETERMINADA

Con este método se agregará al menú contextual del icono especial de IE8/IE9 del Escritorio, la opción Abrir Exploración InPrivate (sólo en Winsows XP y Windows Vista) y se colocará de forma predeterminada. De esta forma cuando hagas clic sobre el icono de IE del Escritorio, éste se abrirá en modo InPrivate. Para ello, créate este otro archivo de registro (mediante el bloc de notas).


Nota:Se pueden producir problemas graves si se modifica el Registro incorrectamente utilizando el Editor del Registro o cualquier otro método. Estos problemas pueden requerir que se reinstale de nuevo el sistema operativo. Modifica el Registro bajo tu propia responsabilidad. 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\InPrivate]
@="Abrir Exploración InPrivate"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\InPrivate\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
00,65,00,73,00,25,00,5c,00,49,00,6e,00,74,00,65,00,72,00,6e,00,65,00,74,00,\
20,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,5c,00,69,00,65,00,78,\
00,70,00,6c,00,6f,00,72,00,65,00,2e,00,65,00,78,00,65,00,22,00,20,00,2d,00,\
70,00,72,00,69,00,76,00,61,00,74,00,65,00,00,00

Guarda el archivo con el nombre InPrivate_context.reg, y ejecútalo para introducir las órdenes en el registro. 
Para revertir los cambios hechos a este icono, crea y ejecuta este otro archivo de registro:

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Classes\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\InPrivate]



Fuentes de esta información:

miércoles, 30 de noviembre de 2011

[Resuelto] Evitar apagar un servidor Windows Server 2008 mediante Escritorio Remoto

Algo normal en usuarios que aceden a un servidor Windows 2008 Server es que por error le den al botón de Apagar. Para evitar esto se deben seguir los siguientes pasos para deshabilitar los botones, por lo que la única forma de apagar el servidor sería mediante comandos de DOS.

http://yolosolucionoasi.blogspot.com/

Paso 1: Ingresar en Inicio (Start) y en la casilla de búsqueda escribir gpedit.msc y presionar enter.www.ingenuatur.com
http://yolosolucionoasi.blogspot.com/


Paso 2: Ingresar en: Configuración de Usuario (User Configuration) / Plantillas Administrativas (Administrative Templates) / Inicio y barra de tareas (Start Menu and Taskbar). Hacer doble clic sobre: Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands.
http://yolosolucionoasi.blogspot.com/


Paso 3: Hacer clic en Habilitado (Enabled).www.ingenuatur.com
http://yolosolucionoasi.blogspot.com/

Inmediatamente al realizar el cambio se ocultará el botón de apagar el equipo así mismo en las opciones desaparecerán los botones de Apagar, Reiniciar, Sleep e Hibernar.www.ingenuatur.com

http://yolosolucionoasi.blogspot.com/

Explicación en Inglés de Habilitar o Deshabilitar "Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands":

This policy setting prevents users from performing the following commands from the Start menu or Windows Security screen: Shut Down, Restart, Sleep, and Hibernate. This policy setting does not prevent users from running Windows-based programs that perform these functions.
If you enable this policy setting, the Power button and the Shut Down, Restart, Sleep, and Hibernate commands are removed from the Start menu. The Power button is also removed from the Windows Security screen, which appears when you press CTRL+ALT+DELETE. www.ingenuatur.com
If you disable or do not configure this policy setting, the Power button and the Shut Down, Restart, Sleep, and Hibernate commands are available on the Start menu. The Power button on the Windows Security screen is also available.
Note: Third-party programs certified as compatible with Microsoft Windows Vista, Windows XP SP2, Windows XP SP1, Windows XP, or Windows 2000 Professional are required to support this policy setting.

http://yolosolucionoasi.blogspot.com/
www.ingenuatur.com

martes, 29 de noviembre de 2011

[Solucionado] Crear carpetas utilizando SQL Server (TSQL) comando xp_cmdshell

En SQL Server (cualquier versión), es posible programas trabajos (Jobs) que se ejecuten a una hora determinada, por ejemplo si queremos hacer algún respaldo de una base de datos. Si queremos ser muy organizados podemos crear una carpeta con la fecha y guardar dentro todos los respaldos.

Si tratamos de hacer un respaldo dentro de una carpeta que no existe aparecerá el siguiente error en SQL:

Date: 11/28/2011 11:00:00 PM
Log: Job History (prueba)
Step ID: 1
Server: NOMBRE_SERVIDOR\INSTANCIASQL
Job Name: prueba_yolosolucionoasi.blogspot.com
Step Name: prueba
Duration: 00:00:00
Sql Severity: 16
Sql Message ID: 3013
Operator Emailed
Retries Attempted: 0
Message: Executed as user: NT AUTHORITY\SYSTEM. Cannot open backup device 'C:\Respaldos\prueba\basededatos_20111128'. Operating system error 3(The system cannot find the path specified.). [SQLSTATE 42000] (Error 3201)  BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013).  The step failed.

Para solucionar esto debemos crear un Trabajo (Job), ejecutando un comando de DOS para crear la carpeta con el nombre deseado, por ejemplo:


declare @MD varchar(100), @wk_no varchar(100)
set @wk_no = 'C:\Respaldos\' + Convert(VarChar(4),DatePart(Year,GetDate()))+Right('0'+Convert(VarChar(2),DatePart(Month,GetDate())),2)+Right('0'+Convert(VarChar(2),DatePart(Day,GetDate( ))),2)
SET @MD = ' mkdir ' + @wk_no
EXEC xp_cmdshell @MD, no_output


Esto crearía una carpeta con la fecha de la siguiente forma: c:\respaldos\yyyymmdd

Luego de crear el trabajo antes de comenzar a ejecutarlo se debe autorizar al servidor para que pueda ejecutar comandos 'xp_cmdshell', de lo contrario aparecería el siguiente error:
Date: 11/29/2011 3:14:19 PM
Log:  Job History (Respaldos)
Step ID: 1
Server: NOMBRE_SERVIDOR\INSTANCIASQL
Job Name: Respaldos
Step Name: Crear carpeta para respaldo
Duration: 00:00:00
Sql Severity: 16
Sql Message ID: 15281
Operator Emailed
Retries Attempted: 0
Message: Executed as user: NT AUTHORITY\SYSTEM. SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online. [SQLSTATE 42000] (Error 15281).  The step failed.

Para permitir ejecutar xp_shell:
EXEC sp_configure 'xp_cmdshell', 1



Más información:
[Solucionado] Crear un Trabajo de Respaldo (backup Job) en SQL Server y guarde en una carpeta con el nombre de la fecha del respaldo
http://yolosolucionoasi.blogspot.com/2011/11/solucionado-crear-un-trabajo-de.html