Ir al contenido principal

Entradas

Mostrando las entradas de 2014

Reporte espacio recuperable Base de Datos Exchange

$Databases = Get-MailboxDatabase -status $htmlReporte = @" "@ $htmlReporte = @" $htmlReporte <tr><td>Base de Datos</td><td>Tamaño</td><td>Espacio disponible recuperable</td></tr> "@ foreach ($db in $databases) { $aux0=$db.Name $aux1=$db.databasesize $aux2=$db.availablenewmailboxspace $htmlReporte = @" $htmlReporte <tr><td>$aux0</td><td>$aux1</td><td>$aux2</td></tr> "@ } $body = @" <center><h1><b>Informacion de Bases de Exchange</h1><br></center> <br> <table border="2"> $htmlReporte </table> <br> Desde ya es un placer chequear esta característica, para ayudarle a brindar un mejor servicio IT.<br> <br> Saludos cordiales,<br> "@ convertTo-HTML -body $body | Out-File c:\ReporteExchangeDB.html

Script Powershell que genera reporte de Active Directory

Import-Module ActiveDirectory $enc  = New-Object System.Text.utf8encoding $objetoBosque = Get-ADForest $objetoDominio = Get-ADDomain $bosque = $objetoBosque.Name $dominio = $objetoDominio.Name $nfuncbosque = $objetoBosque.ForestMode $nfuncdominio = $objetoDominio.DomainMode $fsmodomain = $objetoBosque.DomainNamingMaster $fsmoSchema = $objetoBosque.SchemaMaster $fsmoRID = $objetoDominio.RIDMaster $fsmoInfra = $objetoDominio.InfrastructureMaster $fsmoPDC = $objetoDominio.PDCEmulator $configNCDN = (Get-ADRootDSE).ConfigurationNamingContext $siteContainerDN = ("CN=Sites," + $configNCDN) $sitios=Get-ADObject -SearchBase $siteContainerDN -filter { objectClass -eq "site" } -properties * $htmlsitios = @" "@ $htmlsubnets = @" "@ foreach ($sitio in $sitios) { $aux0=$sitio.Name $htmlsitios = @" $htmlsitios <tr><td>Nombre del Sitio de Active Directory</td><td>$aux0</td></tr> "@ $htmlsu...

Script Powershell para saber un promedio de cantidad de correos y tamaño diario.

# Initialize some variables used for counting and for output $From = Get-Date "15/07/2014" $To = $From.AddDays(1) $TotalOutput = @()   [Int64] $intSent = $intRec = 0 [Int64] $intSentSize = $intRecSize = 0 [String] $strEmails = $null     Do {     # Start building the variable that will hold the information for the day     $obj = new-object PSObject     $obj | add-member -membertype NoteProperty -name "DayOfWeek" -value $($From.DayOfWeek)       $obj | add-member -membertype NoteProperty -name "Date" -value $($From.ToShortDateString())       $intSent = $intRec = 0     (Get-TransportServer) | Get-MessageTrackingLog -ResultSize Unlimited -Start $From -End $To | ForEach {         # Sent E-mails         If ($_.EventId -eq "RECEIVE" -and $_.Source -eq "STOREDRIVER")         {             $intSent++ ...

Powershell para saber sobre que buzones tiene permiso un usuario Exchange 2010

Get-Mailbox | Get-MailboxPermission | where {$_.user.tostring() -eq "usuario_con_permisos" -and $_.IsInherited -eq $false}  | fl Identity,User,AccessRights y para eliminar un permiso: get-mailbox -Identity "nombre_del_buzon" | Remove-MailboxPermission -User usuario_con_permisos_a_remover -AccessRights FullAccess  -InheritanceType All y para eliminar un permiso de denegación: get-mailbox -Identity "nombre_del_buzon" | Remove-MailboxPermission -User usuario_con_permisos_a_remover -AccessRights FullAccess  -Deny -InheritanceType All

Warning durante movimiento de buzon entre diferentes bases de datos en el mismo servidor Exchange 2010

Luego de finalizado el movimiento de buzon este queda en la base de datos de destino pero el proceso muestra el siguiente Warning. Warning: Failed to clean up the source mailbox after the move. Error details: MapiExceptionUnexpectedMailboxState: Unable to delete mailbox. (hr=0x80004005, ec=2634) Ademas en "Disconnected Mailbox" aparecen los buzones que han sido movidos, pero estos no son los buzones activos sino que son los originales en la base de origen que no fueron borrados por completo al finalizar el proceso de movimiento. Justamente lo que indica el mensaje de Warning. La solución es limpiar esta información de buzon de la base de origen manualmente. 1) Debemos listar los buzones que están en esta condición en las bases de Exchange, lo hacemos con el siguiente comando. Get-MailboxDatabase | Get-MailboxStatistics | Where-Object {$_.DisconnectReason -ne $null} | ft  Displayname,DisconnectReason,Database,mailboxGuid -AutoSize Aquí nos mostrara la información...

Comandos para instalar prerequisitos Exchange 2010 SP3 en Windows Server 2008 R2 SP1

Import-Module ServerManager Add-WindowsFeature AS-NET-Framework,AS-HTTP-Activation,RSAT-ADDS,RPC-over-HTTP-Proxy,Web-Basic-Auth,Web-Windows-Auth,Web-Digest-Auth,Web-Net-Ext,Web-ASP-Net,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Client-Auth,Web-HTTP-Redirect,Web-HTTP-Tracing,Web-Dyn-Compression,Web-Metabase,Web-WMI,Web-Lgcy-Mgmt-Console

Evento 129 Time-Service no configura correctamente el servidor NTP con el parametro DOMHIER

Evento 129 "NtpClient was unable to set a domain peer to use as a time source because of discovery error. NtpClient will try again in 3473457 minutes and double the reattempt interval thereafter. The error was: The entry is not found. (0x800706E1)" Resetear el Time Service a por defecto: net stop w32time w32tm /unregister w32tm /register net start w32time Luego configurar para que se sincronice en la jerarquia del Dominio: w32tm /config /syncfromflags:domhier /update net stop w32time net start w32time

Script Powershell que envia por mail lista de Servidores en Active Directory y si responden al ping

Import-Module ActiveDirectory $enc  = New-Object System.Text.utf8encoding $servidores=Get-ADComputer -Filter {(OperatingSystem -like "*Server*")} -Properties OperatingSystem | Sort-Object Name foreach ($servidor in $servidores) {    $dnsservername=$servidor.name+".midominio.local"    if (Test-Connection -ComputerName $dnsservername -Count 1 -Quiet) {       $resptime=Test-Connection -ComputerName $dnsservername -Count 1           $tabla1 += "<tr><td>"+$servidor.name+"</td><td>"+$servidor.operatingSystem+"</td><td>"+$resptime.ResponseTime+"</td></tr>"    } else {       $tabla1 += "<tr BGCOLOR='#DF0101'><td>"+$servidor.name+"</td><td>"+$servidor.operatingSystem+"</td><td>No responde ping</td></tr>"    } #$tabla1 += "<tr><td>"+$servidor.name+"</td><td...

Herramienta automatizacion de impresiones de pantalla

Con Windows 7 tenemos la aplicación psr.exe que automatiza la toma de impresiones de pantalla y las acciones del usuario y genera un reporte. Debemos ir a configuración y definir una ruta donde psr.exe guardara el archivo con el reporte, también podemos darle un numero entre 0 y 100 que podemos darle de cantidad de impresiones de pantalla que va a guardar. Mas información en el siguiente link http://blogs.technet.com/b/mspfe/archive/2013/03/22/uncovering-a-hidden-gem-psr-exe.aspx

Tracking correo en Exchange 2010

Tenemos un web service o una aplicación que envia a través de Exchange que no esta pudiendo enviar a una casilla externa, dado que es una aplicación que no esta chequeando el contenido del buzon con el cual envia debemos ver en el tracking del Exchange que es lo que sucede. En Exchange 2010 vamos a Toolbox->Tracking log explorer Buscamos dentro de la fecha que tenemos los mails enviados a la dirección que no recibe el supuesto mail. Si vemos el siguiente error: 554 delivery error: dd This user doesn't have a mihosting account ( pepito@mihosting. com ) [-5] - mta1087.mail.ne1.mihosting.com Esto significa que no existe la casilla a la que se esta enviando.

Comandos para Router Cisco

Router> (modo usuario) ---------------------- show version                            -> Muestra un resumen enable                                  -> El comando habilita el modo privilegiado Router# (modo privilegio) ------------------------- disable                                 -> Sale del modo privilegiado al modo de usuario configure terminal                      -> entra en el modo de configuracion global Router (config)# (modo Global) ------------------------------ hostname "Nombre_Host"                  -> configura el nombre del dispositivo enable secret "Clave123"               ...

Script Powershell para saber espacio total y disponible en los volumenes de Servidores del AD

#invoca modulo de AD import-module activedirectory #lista del AD los equipos "Windows Server" $Servidores = Get-ADComputer -Filter {OperatingSystem -Like "Windows Server *"} -Property OperatingSystem foreach ($ElServidor in $Servidores) {    if (test-connection -computername $ElServidor.name -erroraction SilentlyContinue) {       $b += Get-WmiObject -class Win32_LogicalDisk -ComputerName $ElServidor.name | Select-Object -Property @{n='Hostname';e={$ElServidor.name}},@{n='SisOp';e={$ElServidor.OperatingSystem}},@{n='Drive';e={$_.DeviceID}},@{n='Size(GB)';e={$_.Size / 1GB -as [int]}},@{n='FreeSpace(GB)';e={$_.FreeSpace / 1GB -as [int]}}    } else {    } } $b | Export-CSV -path ListadoEspacioServers.csv -NoTypeInformation
Para darle permisos a un servicio hay que utilizar la siguiente guía, que ha sido tomada de los siguientes links: http://serverfault.com/questions/187302/how-do-i-grant-start-stop-restart-permissions-on-a-service-to-an-arbitrary-user http://msmvps.com/blogs/alunj/archive/2006/02/13/83472.aspx There doesn't appear to be a GUI-based way of doing this unless you're joined to a domain - at least not one I could find anywhere - so I did a bit more digging and I've found an answer that works for our sitaution. I didn't understand what the string representation meant in the knowledge base article, but doing a bit of digging led me to discover that it's SDDL syntax. Further digging led me to this article by Alun Jones which explains how to get the security descriptor for a service and what each bit means. To append to the service's existing security descriptor, use sc sdshow "Service Name" to get the existing descriptor. If this is a plain old .NET Wi...

Sysprep

Para dejar un sistema operativo en estado de fabrica debemos utilizar la herramienta sysprep. Sistemas operativos: Windows Server 2008 R2/2012/2012 R2, Windows 7 Ruta donde se ubica la herramienta: c:\windows\system32\sysprep\ comando a ejecutar:  sysprep.exe Debemos seleccionar la opción generalize de forma que todas las configuraciones del sistema operativo sean borradas durante el proceso, se selecciona esta opción por ejemplo para dejar un sistema operativo pronto para ser clonado o para generar un template.

Configuracion inicial Windows Server 2008 R2

Configuración inicial Windows Server 2008 R2 Configuración de red Configuración estática de dirección ip, mascara de subred y puerta de enlace netsh interface ip set address name="Local Area Connection" static 192.168.0.12 255.255.255.0 192.168.0.1 1 Configuración por dhcp de dirección ip, mascara de subred y puerta de enlace netsh interface ip set address name="Local Area Connection" dhcp Configuración estatica de DNS primario y secundario netsh interface ip set dns name="Local Area Connection" static 10.150.150.145 netsh interface ip set dns name="Local Area Connection" static 192.168.0.11 index=2 Escritorio Remoto y Firewall Habilitar Escritorio Remoto reg add "hklm\system\CurrentControlSet\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0 Deshabilitar Firewall netsh advfirewall set privateprofile state off netsh advfirewall set publicprofile state off netsh advfirewall set ...