Ir al contenido principal

Entradas

Mostrando las entradas de mayo, 2012

Powershell - Encontrar Controladores de Dominio

Si nuestra computadora está unida a un dominio de Windows, con este código podemos obtener el listado de controladores de dominio en él. Notemos que este código podría darnos un error si no estamos en un dominio. PS> $dominio = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() PS> $dominio.DomainControllers Para encontrar uno, probemos: PS> $dominio.FindDomainController() Y para encontrar todos los controladores de dominio en un bosque: PS> $dominio.Forest.Domains

Parámetros Nombrados En PowerShell

Como Especificar un Parametro con Nombre ( run.ps1 ) param ( [ string ] $ConfigFileName = $ ( throw " parameter required. " ) ) Write-Host  $ConfigFileName Como Invocar otro script indicando el parámetro ( tambien se puede usar desde consola ) $command = " . \r un.ps1 –ConfigFileName ./app.config " Invoke - Expression $command

EventLog desde PowerShell

este pequeño grupo de instrucciones permite mandar eventos al EventLog de windows (el cual podemos consultar usando EventViewer), util para proporcionar información de la ejecución de nuestros scripts. $source = "MySource" #to delete -> [System.Diagnostics.EventLog]::DeleteEventSource($source) #crear el source si no existe if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {     [System.Diagnostics.EventLog]::CreateEventSource($source, "BwLog")     Write-Host "create source" } #enviar un evento [System.Diagnostics.EventLog]::WriteEntry($source,"mensaje")

Script para habilitar NAT con iptables en Linux

Este script nos habilita el Network Address Translator en un servidor con Linux. Solo tenemos que cambiar "eth1" por nuestra interface externa y 192.168.0.0/24 por nuestra red interna. Podemos agregar estas líneas a nuestro rc.local o llamarlo al final de nuestros scripts de inicialización. ------- nat.sh ---------------------------------------------- #!/bin/bash ifup eth1 echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F iptables -F -t nat iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -d 0/0 -j MASQUERADE ------- nat.sh ----------------------------------------------

Powershell: Función para convertir archivos Word en un directorio a PDF

Para convertir todos los archivos de Word en un directorio a PDF: function   Export-WordToPDF  {    param (   [ Parameter ( Mandatory = $true , ValueFromPipelineByPropertyName = $true )]   [ Alias ( "FullName" )]    $path ,    $pdfpath   =   $null )    process  {      if  ( ! $pdfpath ) {        $pdfpath   =  [ System.IO.Path ]:: ChangeExtension ( $path ,  '.pdf' )     }      $word   =   New-Object   -ComObject   Word.Application      $word . displayAlerts   =   $false          $word . Visible   =   $true      $doc   =   $word . Documents . Open ( $path )      #$doc.TrackRevisions = $false      $null   =   $word . ActiveDocument . ExportAsFixedFormat ( $pdfpath , 17,  $false , 1)      $word . ActiveDocument . Close ()      $word . Quit ()   } } Y se podría usar de esta manera: PS> Dir  c:\folder  -Filter *.doc | Export-WordToPDF

Mejoras de desempeño para dispositivos Android

Estos son algunos tweaks que le he hecho a mis dispositivos Android ICS para mejorar el rendimiento (por supuesto, necesitamos root en nuestros dispositivos para que funcionen): 1) Habilitar el Kernel Samepage Merging: Deduplica la memoria para guests virtualizados. Esta implementación no permite el swap de páginas que ya fueron compartidas. echo 1 > /sys/kernel/mm/ksm/run 2) Ampliar el límite en el memory heap: - abrimos el archivo /system/build.prop - cambiar la línea: dalvik.vm.heapgrowthlimit=48m por dalvik.vm.heapgrowthlimit=64m Regularmente para este cambio es necesario "remontar" /system en modo escritura. Esto lo podemos conseguir con este comando: mount -o rw,remount /dev/block/mmcblk1p3 /system (Solo es de revisar que efectivamente sea mmcbl1p3 la partición que está montada en /system, sino hacer el cambio dependiendo el dispositivo)