Leandro Amore

Un espacio para dejar las cosas que quiero compartir

July 2007 - Posts

Guia de operaciones de Operations Manager 2007

Finalmente salio EL documento que estabamos esperando de SCOM 2007, la guia de operaciones. Les dejo el link.

http://download.microsoft.com/download/7/4/d/74deff5e-449f-4a6b-91dd-ffbc117869a2/OM2007_OpsGuide.doc

 

Saludos

 

Posted: Jul 27 2007, 09:41 PM by leandro
Filed under:
Para los que se estan peleando con powershell :o)

Hace bastante que estoy tocando PSH y la verdad que faltaba un help un poco mas comodo que el de la consola. Les dijo el link para que lo prueben.

http://www.microsoft.com/downloads/details.aspx?familyid=3b3f7ce4-43ea-4a21-90cc-966a7fc6c6e8&displaylang=en

 

Saludos

 

 

Posted: Jul 23 2007, 11:52 PM by leandro
Filed under:
Notificación de password para owa

Hace un tiempo un cliente que tiene mucha gente por owa sin acceso a la red me pidio si le podia armar algo para que les avise de manera evidente que se les esta por vencer el password ya que los usuarios se quejaban que no notaban el cartelito del owa. Asi que arme este script que manda un mail a cada usuario que tiene el password cerca de caducar, Espero les sea util Solo hay que renombrarlo a .vbs, cambiar los parametros de smtp, tiempo de control para el envio del mail y ejecutarlo con cscript.

 

'------copiar---

'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.1
'
' NAME: Notificacion de cambio de passoword para exchange
'
' AUTHOR: Leandro Amore.
' DATE  : 7/14/2007
'
' COMMENT: El script chequea la antiguedad del password de cada usuario en AD
' y envia un mail informando que debe ser cambiado si se cumple una condicion.
'==========================================================================

'defino constantes para el sistema

Const SMTP_SERVER  = "192.168.0.2"
Const STRFROM   = "administrador@prisma.cc"
Const DAYS_FOR_EMAIL  = 35
'Constantes de sistema, no modificar
Const ONE_HUNDRED_NANOSECOND    = .000000100
Const SECONDS_IN_DAY            = 86400
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Const E_ADS_PROPERTY_NOT_FOUND  = &h8000500D

Const bDebug = True 'amplia o reduce la informacion mostrada en pantalla durante la ejecucion del script
Dim rootDSE, domainObject
'defino mi estructura de AD a inspeccionar
Set rootDSE=GetObject("LDAP://RootDSE")
domainContainer = rootDSE.Get("defaultNamingContext")
Set domainObject = GetObject("LDAP://" & domainContainer)

numdays = GetMaximumPasswordAge (domainContainer)
dp "Antiguedad maxima de password: " & numDays

 


If numDays > 0 Then 'chequeo que el dominio tenga la expiración de password habilitada
 call ExportUsers(domainObject, numdays)
end if 


Function GetMaximumPasswordAge (ByVal strDomainDN)
 Dim objDomain, objMaxPwdAge
 Dim dblMaxPwdNano, dblMaxPwdSecs, dblMaxPwdDays

 Set objDomain = GetObject("LDAP://" & strDomainDN)
 Set objMaxPWdAge = objDomain.maxPwdAge

 If objMaxPwdAge.LowPart = 0 And objMaxPwdAge.Highpart = 0 Then
  GetMaximumPasswordAge = 0
 Else
  dblMaxPwdNano = Abs (objMaxPwdAge.HighPart * 2^32 + objMaxPwdAge.LowPart)
  dblMaxPwdSecs = dblMaxPwdNano * ONE_HUNDRED_NANOSECOND
  dblMaxPwdDays = Int (dblMaxPwdSecs / SECONDS_IN_DAY)
  GetMaximumPasswordAge = dblMaxPwdDays
 End If
End Function


function ExportUsers (oObject,imaxpwdage)
Dim oUser
For Each oUser in oObject
Select Case oUser.Class
Case "user"

  If Right (oUser.Name, 1) <> "$" Then
   If IsEmpty (oUser.Mail) or IsNull  (oUser.Mail) Then
    dp Mid (oUser.Name, 4) & " no tiene mailbox"
   Else
    If UserIsExpired (oUser, iMaxPwdAge, DAYS_FOR_EMAIL, iResult) Then
     wscript.Echo "...enviando mail a " & oUser.Mail
     Call SendEmail (oUser, iResult)
    Else
     dp "...no enviar mail"
    End If
   End If
  End If

Case "organizationalUnit" , "container"
If UsersinOU (oUser) then
call ExportUsers(oUser,imaxpwdage)
End if
End select
Next
end function

Function UsersinOU (oObject)
Dim oUser
UsersinOU = False
for Each oUser in oObject
 Select Case oUser.Class
  Case "organizationalUnit" , "container"
   UsersinOU = UsersinOU(oUser)
  Case "user"
   UsersinOU = True
  End select
Next
End Function

 

Function UserIsExpired (objUser, iMaxAge, iDaysForEmail, iRes)
 Dim intUserAccountControl, dtmValue, intTimeInterval
 Dim strName

 On Error Resume Next
 Err.Clear

 strName = Mid (objUser.Name, 4)
 intUserAccountControl = objUser.Get ("userAccountControl")

 If intUserAccountControl And ADS_UF_DONT_EXPIRE_PASSWD Then
  dp "El password para " & strName & " no expira."
  UserIsExpired = False
 Else
  iRes = 0
  dtmValue = objUser.PasswordLastChanged
  If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
   UserIsExpired = True
   dp "Nunca se seteo un password para " & strName & " "
  Else
   intTimeInterval = Int (Now - dtmValue)
   dp "El password de " & strName & " fue establecido " & _
    DateValue(dtmValue) & " a las  " & TimeValue(dtmValue) & _
    " (" & intTimeInterval & " dias atras)"

   If intTimeInterval >= iMaxAge Then
    dp "El password para " & strName & " ha expirado."
    UserIsExpired = True
   Else
    iRes = Int ((dtmValue + iMaxAge) - Now)
    dp "El password para " & strName & " expirara el  " & _
     DateValue(dtmValue + iMaxAge) & " dentro de " & _
     iRes & " dias"

    If iRes <= iDaysForEmail Then
     dp strName & " Necesita un mail para cambio de password"
     UserIsExpired = True
    Else
     dp strName & " No necesita cambio de password"
     UserIsExpired = False
    End If
   End If

  End If
 End If
End Function

Sub SendEmail (objUser, iResult)
 Dim objMail

 Set objMail = CreateObject ("CDO.Message")

 objMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")      = 2
 objMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")     = SMTP_SERVER
 objMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 objMail.Configuration.Fields.Update

 objMail.From     = STRFROM
 objMail.To       = objUser.Mail

 objMail.Subject  = "Se debe cambiar el password de " & Mid (objUser.Name, 4)
 objMail.Textbody = "El password de " & objUser.userPrincipalName & _
    " (" & objUser.sAMAccountName & ")" & vbCRLF & _
    "expirara en " & iResult & " días." & vbCRLF & _
    "Por favor cámbielo lo antes posible" & vbCRLF & vbCRLF & _
    "Muchas Gracias," & vbCRLF & _
    "Dpto. de sistemas"

 objMail.Send

 Set objMail = Nothing
End Sub

Sub dp (str)
 If bDebug Then
  WScript.Echo str
 End If
End Sub
'---------------------hasta aca----------


 

Algo comodo

Les dejo algo que encontre por ahi para agregar la opcion de montar discos virtuales (VHD) de virtual server 2005 SP1 al menu contextual de windows.

Solo tienen que copiar lo que les dejo abajo en un archivo .inf y darle boton derecho instalar.

---Copiar desde aca---------------------------------------

[version]
signature="$CHICAGO$"

[DefaultInstall]
AddReg=Reg

[Reg]
HKCR,".vhd",,,"Virtual.Machine.HD"
HKCR,"Virtual.Machine.HD",,,"Virtual Machine Disk Image"
HKCR,"Virtual.Machine.HD\DefaultIcon",,,"C:\Program Files\Microsoft Virtual Server\vssrvc.exe,3"
HKCR,"Virtual.Machine.HD\shell\Mount\Command",,,"c:\program files\Microsoft Virtual Server\vhdmount\vhdmount.exe" /m /f %1"
HKCR,"Virtual.Machine.HD\shell\DisMount\Command",,,"c:\program files\Microsoft Virtual Server\vhdmount\vhdmount.exe" /u %1"
HKCR,"Virtual.Machine.HD\shell",,,"Mount"
HKCR,"Virtual.Machine.HD",BrowserFlags,0x00010001,0x8
HKCR,"Virtual.Machine.HD",EditFlags,0x00010001,0x0

---hasta aca------------------------------------

 

Espero les sea util

saludos

Empezamos con Configuration Manager

La gente de producto de Configuration Manager esta comenzando a dar webcasts sobre instalacion y configuracion del producto. Estos 2 son destacables ya que lo da la misma gente del grupo de producto.

Les dejo los links

 Monday, July 2nd, at 1:00pm Pacific, is Deploying System Center Configuration Manager 2007: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032343568&Culture=en-US

 

Friday, July 6th, at 1:00pm Pacific, is Deploying System Center Configuration Manager 2007 Clients: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032343641&Culture=en-US

Que los disfruten

 

Saludos

 

Leandro

Posted: Jul 01 2007, 09:04 PM by leandro
Filed under:
More Posts