jueves, enero 26, 2012

Quiero Queso!

Hace unos dias conversaba con un amigo quien me comentaba que estaba muy aburrido con su trabajo, hacia cosas que no le gustaba, tenia problemas con su jefe incluso no se llevaba muy bien con el equipo de trabajo.

Le pregunte que era lo que a el le gustaria hacer, comenzo a mencionarme una serie de cosas que le gustaban y muchas de ellas no tenian ninguna relacion con lo que hacia actualmente.

Mi siguiente pregunta fue, y que estas haciendo para cambiar la situacion?? Estas buscando un nuevo trabajo? Estas estudiando o perfeccionandole, etc, la respuesta era la esparada, nada, lo unico que hacia era quejarse y soñar, pero en realida no estaba haciendo nada para cambiar su situacion, recibia un sueldo fijo, que le era comodo y esto lo hacia a pesar de todas las cosas que no le gustaban, estar conforme con su situacion.

Si no hacemos nada para cambiarlas cosas, estas nunca cambiaran, a menos que tengamos un golpe de suerte, un hada madrina, una lampara magina o algo por estilo, las cosas no ocurren en forma magica, la magia debemos hacerla nosotros.

Si queremos Queso, debemos buscar queso, el queso no vendra solito a nosotros..

Les dejo aca un Video de un libro muy bueno (es mejor leer el libro) espero lo disfruten, se pongan sus zapatillas y busquen el queso que mas les gusta.



Saludos!

Isa

jueves, enero 19, 2012

Problemas de Busqueda Sharepoint Foundation 2010

Despues de la Instalación del SP1 de SharePoint Foundation comence a tener problemas para realizar busquedas, el error que me mostraba en el sitios decia que no tenia asignado un servidor de busquedas y que contactara al administrador.

Revise la configuracion del servicio y se veia ok.

Revise los jobs de sharepoint para ver si estaba indexando y me mostraba Status Failed

Job Title
SharePoint Foundation Search Refresh
Server
SPF
Web Application
Content Database
Status
Failed
Completed
1/19/2012 4:15 PM
Duration (hh:mm:ss)
0:00:00
Error Message
The device is not ready.

Revise el log de eventos y horror, una serie de mensajes de error se encontraban presentes.

Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation Search
Date:          19-01-2012 16:09:11
Event ID:      70
Task Category: Gatherer
Level:         Error
Keywords:     
User:          NETWORK SERVICE
Computer:      SPF
Description:
The mount operation for the gatherer application 9df61633-f8ef-4667-bd08-c7454fe31860 has failed because the schema version of the search administration database is less than the minimum backwards compatibility schema version supported for this gatherer application. The database might not have been upgraded.


Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          19-01-2012 16:09:17
Event ID:      6398
Task Category: Timer
Level:         Critical
Keywords:     
User:          NETWORK SERVICE
Computer:      SPF
Description:
The Execute method of job definition Microsoft.SharePoint.Search.Administration.SPSearchJobDefinition (ID eaa0e366-8978-4dcb-bd64-566bc4c4326e) threw an exception. More information is included below.

The device is not ready. 

Buscando informacion en San Google encontre el siguiente articulo que me dio la solucion.

http://blogs.technet.com/b/sbs/archive/2011/07/06/potential-issues-after-installing-sharepoint-foundation-2010-sp1.aspx

Usando la interfaz PowerShell con privilegios elevados ejecute lo siguiente:

(get-spserver $env:computername).NeedsUpgrade

y me respondio True por lo tanto segui con el siguente comando en la consola de comandos ejecurada con privilegios elevados:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

SharePoint Products Configuration Wizard version 14.0.6009.1000. Copyright (C) Microsoft Corporation 2010. All rights reserved.
Performing configuration task 1 of 6
Initializing SharePoint Products upgrade...

Waiting to get a lock to upgrade the farm.
Successfully initialized SharePoint Products upgrade.
Performing configuration task 2 of 6
Initiating the upgrade sequence...

Successfully initiated the upgrade sequence.
Performing configuration task 3 of 6
Registering SharePoint features...

Successfully installed feature C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Template\Features\ReportServerStapling\Feature.xml.
Successfully registered SharePoint features.
Performing configuration task 4 of 6
Installing the application content files...

Installing the SharePoint Central Administration Web Application content files...
Installing the SharePoint Web Application content files...
Successfully installed the application content files.
Performing configuration task 5 of 6
Upgrading SharePoint Products...

10.00%The farm is being upgraded in the timer service process. The task is 14.55
% completed.

The farm is being upgraded in the timer service process. The task is 27.07% completed.
The farm is being upgraded in the timer service process. The task is 27.78% completed.
The farm is being upgraded in the timer service process. The task is 27.78% completed.
The farm is being upgraded in the timer service process. The task is 28.28% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 30.30% completed.
The farm is being upgraded in the timer service process. The task is 41.25% completed.
The farm is being upgraded in the timer service process. The task is 61.23% completed.
The farm is being upgraded in the timer service process. The task is 91.28% completed.
The farm is being upgraded in the timer service process. The task is 91.28% completed.
Successfully upgraded SharePoint Products.
Performing configuration task 6 of 6
Finalizing the SharePoint Products configuration...

Successfully completed the SharePoint Products configuration.
Total number of configuration settings run: 6
Total number of successful configuration settings: 6
Total number of unsuccessful configuration settings: 0
Successfully stopped the configuration of SharePoint Products.
Configuration of the SharePoint Products has succeeded.

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>

Vuelvo a mi sitio y realizo la busqueda funcionando correctamente :)

Saludos!

Isha

lunes, noviembre 28, 2011

Cambio Masivo en AD con PowerShell

Holas!!

Hace tiempo que no escribia un articulo, andaba poco creativa, pero aprovechando que ando en unas mini vacaciones en Concepcion aprovechare de compartir un poco de Scripts.

Hace unos dias me pidieron crear un script para modificar la informacion de los usuarios en forma masiva, eran cerca de 800 usuarios a modificar y la informacion estaba en un excel.

Estuve buscando en el Script Center de Microsoft pero los que alli estan no me dejaban satisfechas, algunos campos podian ser modificados pero otros multivalor no podian hacerlo, ademas que se queria agregar la fotografia del usuario en el campo jpegPhoto.

En la consola PowerShell de Active Directory puedes encontrar el cmdlet Set-ADUser con el cual puedes modificar el usuario, identificas al usuario en forma unica con la cuenta, este es el atributo sAMAccountName, asi que colocamos -identity "usuario" a nuestro comando.

A continuacion identificamos que atributos necesitamos modificar, para el caso en que sea multiatributo y deseamos agregar, reemplazar o eliminar algun valor tambien lo podemos hacer usando add, replace, o remove indicando el atributo a modificar, por ejemplo -add @{Description = "Descripcion Agregada"}

Tambien, necesitamos cambiar el nombre del objeto en si (atributo cn) para lo cual usamos el cmdlet Rename-ADObject indicandole el usuario que deseamos renombrar.

Como queremos hacerlo para muchos usuarios, necesitamos generar un  archivo csv, separados por comas, en que los nombres de las columnas indiquen los campos que queremos modificar, como ya vimos anteriormente, para parsear el archivo usamos en cmdlet import-csv y lo colocamos en una variable.

Otro problema que se nos presento es la fecha de expiracion de la cuenta, la cual al mirar el objeto nos percatamos que era el dia anterior, para eso hicimos el sucio truco de sumarle un dia (New-TimeSpan -Days 1) a la fecha entregada en el archivo.

Como ultimo desafio, nos quedo el cargar la foto, como el archivo es jpg, no hay un upload foto, asi que hubo que realizar una conversion del archivo a un formato binario ([Byte[]]$(Get-Content -Path "E:\usuario.jpg" -Encoding Byte -ReadCount 0) )

Con todos los ingredientes listos, nuestro script quedo asi:

$data = import-csv $args[0]
$fecha2 = New-TimeSpan -Days 1

foreach ($i in $data)
{

# Se le suma 1 dia a la fecha de expiracion para que lo cargue bien
$fecha = Get-Date $i.accountExpires
$fechaExpira = $fecha + $fecha2

# Renombra la cuenta al nuevo nombre
Get-ADUser -Identity $i.sAMAccountName | Rename-ADObject -NewName $i.DisplayName

# Actualiza los datos de la cuenta
Set-ADUser -identity $i.sAMAccountName -AccountExpirationDate $fechaExpira -Description "Descripcion" -Manager $i.manager -GivenName $i.givenName -Surname $i.sn -DisplayName $i.DisplayName -Company $i.Company -MobilePhone $i.mobile -Department $i.department  -HomePhone $i.HomePhone -Title $i.title

#Agrega la Foto del Usuario

Set-ADUser  -Identity $i.sAMAccountName  -replace @{jpegPhoto = ([Byte[]]$(Get-Content -Path "E:\$i.sAMAccountName.jpg" -Encoding Byte -ReadCount 0) ) }

}

Saludos!!

martes, septiembre 06, 2011

Algo que vale la pena compartir...

Felipe Cubillos, empresario, navegante chileno, patrón del desafío Cabo de Hornos que terminó en segundo lugar en la regata Vuelta al Mundo, fallecido en el accidente aereo de Juan Fernandez el 2 de Septiembre del 2011, escribió:

Lo que aprendí en la regata de la vuelta al mundo

Hola a todos,

Estamos ya a menos de 24 horas de terminar la Regata de la Vuelta al Mundo y cuando Uds. abran sus computadores posiblemente tengamos una ventaja cercana a las 150 millas y muchos de Uds pensarán que ya ganamos esta etapa, de punta a cabo. Nos encantaría que fuera así, pero la experiencia nos enseña que hay que esperar y que las regatas se ganan y se pierden en la meta.

Y aquí va un corto resumen de lo que yo aprendí o reafirmé, durante todo este tiempo; lo hago en primera persona pues no puedo involucrar al Negro en todo lo que a continuación van a leer.

1.. acerca de los hijos, definitivamente no son tuyos, solo quiérelos y ámalos y trata de educarlos con el ejemplo y si puedes, transmíteles que busquen sus propios sueños, no los tuyos. Y no esperes que te agradezcan todo lo que haces por ello; ese agradecimiento vendrá muchos años después, quizás cuando tu ya te hayas convertido en abuelo/a (ahí sabrán recién lo que es ser padre/madre). Pero si en el intertanto, te llegan a decir que están orgullosos de ser tu hijo/a, date por recompensado con creces. Y si alguno de ellos debe partir antes que tú, que al menos te quede el consuelo que le dijiste muchas veces cuanto lo querías.

2.. acerca de tus padres, no dejes nunca de agradecerles el hecho de que te hayan traído a este mundo maravilloso y te hayan dado tan solo la posibilidad de vivir, solo eso, ¡¡¡ vivir !!!

3.. acerca del mar, el viento y la naturaleza, admírala y cuídala, es única y no tenemos otra. Y al mar y el viento, nunca trates de vencerlos ni menos desafiarlos. Llevan todas las de ganar. Si quieres ser un navegante, acostúmbrate a vivir en crisis permanente.

4.. acerca de los límites, ellos no existen o están mucho mas allá de lo que te imaginas. ¿Cuanto más allá? Ese es la pregunta, tienes que llevarte al extremo y ahí lo descubrirás.

5.. acerca del talento, no sirve para nada si no va acompañado de determinación, planificación, disciplina y perseverancia. El talento es efímero, la determinación, eterna.

6.. acerca del amor, da las gracias al Universo si te despiertan cada mañana con un beso y una sonrisa. Y haz como las abejas y las mariposas, ellas no buscan la flor más linda del jardín, sino aquella que tiene el mayor contenido.

7.. acerca de la sociedad, ayuda a los que son igual o más capaces que tú, pero que no han tenido tus mismas oportunidades. Son ellos los más olvidados de la sociedad pues siempre se ayuda a los que piden y vociferan, pero a los que me refiero, no piden ayuda, solo necesitan una oportunidad. Sueño todavía con una sociedad más justa y más humana.

8..acerca del liderazgo, echo de menos en el mundo actual esos líderes que hacían lo que se debe hacer y decían lo que se debe decir, sin esperar resultados inmediatos en las encuestas. Me refiero a los que marcan un camino, no los que siguen a las masas.

9.. acerca de la riqueza, una vez que hayas financiado tu flujo de caja, trata de comprar más tiempo que dinero, más libertad que esclavitud.

10.. acerca de la angustia y la amargura, cuando creas que algo no es posible, que los problemas te agobian, que ya no puedes, date un tiempo para ver las estrellas y espera despierto el amanecer, ahí descubrirás que siempre sale el sol, ¡¡¡ siempre !!!

11.. acerca del triunfo, si quieres triunfar debes de estar dispuesto a fracasar mil veces y dispuesto a perder todo lo que has conseguido. Y no temas perderlo todo, pues si te lo has ganado bien, de seguro lo recuperas con creces.

12.. acerca del presente, vívelo intensamente, es el único instante que realmente importa; los que viven aferrados al pasado ya murieron y los que viven soñando con el futuro, aún no han nacido.

13.. acerca del éxito y el fracaso, reconócelos como dos impostores, pero aprende sobretodo de los fracasos, los propios y los de los demás, ahí hay demasiado conocimiento que generalmente no usamos.

14.. acerca de los amigos, elije los que están contigo cuando estás en el suelo, porque cuando estés en la gloria, te van a sobrar.

15.. acerca del equipo, motívalo en los momentos difíciles y nunca dejes que uno te abandone por haberse equivocado, ése es el más importante.

16.. acerca de tu país, ama a la tierra que te vio nacer, trabaja por hacer de tu país un mejor lugar para todos y pasea orgulloso/a tu bandera, cualquiera que ella sea (ya sea que seamos buenos o malos para el fútbol).

17.. acerca del esfuerzo, no te rindas nunca, no te creas el cuento de que cuando algo está costando mucho es porque no debe resultar, es simplemente que el Universo te está poniendo a prueba de si eres o no merecedor del éxito.

18.. acerca del miedo, no le temas, es un gran compañero, pero que no te inmovilice y no temas hacer el loco o el ridículo; la historia nos enseña que las grandes enseñanzas y tremendos descubrimientos son producto de esos instantes.

19.. acerca de Dios y el Cielo, creo que si actuamos haciendo el bien, podremos estar en la lista de espera si el Cielo existe y si no existe, habremos tenido nuestro propio Cielo en esta Tierra. Y a Dios no lo encontré solo en el Mar del Sur, en las nubes, en las tormentas, en las olas, ni en la meta ni en las partidas; estuvo siempre con nosotros, dentro, muy dentro nuestro.

20.. y cuando tengas dudas de qué debes hacer, pregúntate cual es tu Cabo de Hornos, ármate de una pequeña mochila que lleve sólo lo necesario para sobrevivir y comienza a caminar. Y no dejes de mirar al cielo, ahí descubrirás al albatros, que te enseñará a despegar con esfuerzo y a volar en libertad. Y te darás cuenta que no necesitas volar en bandada.

21.. y nunca, nunca renuncies a tus sueños, persíguelos apasionadamente y si no los consigues, no importa, el solo recorrer ese camino habrá valido la pena vivir y ojalá el sueño que persigas sea el sueño imposible.

22.. y si tienes la fortuna de un día competir con rivales del tamaño de los que nos tocó enfrentar en esta Regata, hónralos, admíralos, pero entrega todo lo que tienes por vencerlos en buena lid; ellos se lo merecen.

23.. y si en el día de mi muerte me dan la opción de renacer, elijo ser Albatros y volar el Mar del Sur y mirar a los intrépidos navegantes que arriesgan sus vidas y dejan todo en busca de su sueño, en busca de su sueño imposible.

24.. y nunca te tomes demasiado en serio a un navegante que está terminando una Vuelta al Mundo. Solo sabrá navegar un poco más, ¡¡nada más!!

Felipe

lunes, agosto 15, 2011

Borrando una configuracion IMAP del perfil de Outlook

El desafio era, agregamos el perfil de exchange, pero como sacamos el perfil anterior??

Aca les dejo el script que contruimos, falta depurarlo, seguro se puede hacer en menos lineas, jejjee.

Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CURRENT_USER = &H80000001


Set Ws = WScript.CreateObject("WScript.Shell")


Dim ww


set ww=wscript.createobject("wscript.network")


nombreusu=ww.UserName
avalor = Array(1,1,1,1,1,1)
strComputer = "."
KeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"
DefaultProfile="vacio"


On Error Resume Next
DefaultProfile = ws.RegRead("HKCU\" & KeyPath & "DefaultProfile")
If DefaultProfile = "vacio" Then
WScript.quit


End if


Call BuscaKey()


WScript.Quit


Sub BuscaKey()
'----------------------


Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676"


oReg.EnumKey HKEY_CURRENT_USER,strKeyPath, arrSubKeys


For Each subkey In arrSubKeys
WScript.Echo subkey


If eslakey(subkey) Then
aborrar = strKeyPath & "\" & subkey
oReg.DeleteKey HKEY_CURRENT_USER, aborrar


End if
Next


End sub






Private Function eslakey(subkey)
'-------------------------------


Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\" & subkey


oReg.EnumValues HKEY_CURRENT_USER,strKeyPath, arrValueNames


For Each Valor In arrValueNames


If Valor = "IMAP Server" Then
imapserver = 1
End If


Next


eslakey = 0


if imapserver = 1 Then


strValueName = "IMAP Server"
oReg.GetBinaryValue HKEY_CURRENT_USER, strKeyPath, strValueName,strValue
imapsrv=strValue


email= ""


For i = lBound(strValue) to uBound(strValue)
If strvalue(i) <> 0 Then
email=email + Chr(strValue(i))
End If


Next


If LCase(email) = "mailserver.dominio.cl" or LCase(email) = "10.10.10.11" Then
eslakey = 1
End if


End If
End function


WScript.Quit

Saludos!

Isa