Categorías
Powershell

Habilitar el Firewall de Windows con Powershell

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Categorías
Powershell

Resolución de DNS con powershell

Script en powershell para la resolución de IP

$computers= Get-Content C:\sql.txt
$list = @()
Foreach ($computername in $computers)
{
    If(Test-Connection $computername -Quiet)
    {
        write-host "$computername - $IP - OK" -ForegroundColor GREEN
        Try
            {
            $IP = [System.Net.Dns]::GetHostEntry($computername).AddressList | %{$_.IPAddressToString}
            $IP | %{$HostName = [System.Net.Dns]::GetHostEntry($_).HostName}
            }
        Catch
        {
            write-error "NO se puede resolver el IP o DNS."
        }
        $compStatus = New-Object PSObject -Property @{
            Equipo = $computername
            Status = $true
            DNS = $HostName
            IP = $IP
    }
        $list += $compStatus
    }
    Else
    {
        write-host "$computername - $IP - NO_OK" -ForegroundColor RED
        $IP = $null
        $HostName = $null
        $compStatus = New-Object PSObject -Property @{
            Equipo = $computername
            Status = $false
            DNS = $null
            IP = $null
        }
    $list += $compStatus
    }
}
$list | Export-Csv c:\prueba2.csv -NoTypeInformation
Categorías
Powershell

Cómo borrar los ficheros de un directorio transcurrido x dias con powershell

$lsFecha = Get-Date
$lsDias = "69"
$lsDirectorio = "E:\directoriodeborrado"
$lsFechaBorrado = $lsFecha.AddDays(-$lsDias)

$Files = get-childitem $lsDirectorio -recurse -force | Where {!$_.PSIsContainer} | Where {$_.LastWriteTime -le "$lsFechaBorrado"}

foreach ($File in $Files)
{IF ($Files -ne $NULL)
{write-host "Borrado File $File.FullName" -foregroundcolor "Red" ; Remove-Item $File.FullName -recurse -force}
}
ls $lsDirectorio -r -fo | ? {$_.psIsContainer} sort fullName -des | ? {!(ls $_.fullName -fo)} | ri

#send-mailmessage -to "mie-email@midominio.com" -from "servidorqueenvia@midominio.com" -subject "Fin eliminación directorios con mas de 3 dias BACKUP" -body "Fin eliminación directorios con mas de 3 dias BACKUP" -SmtpServer mimailserver.midominio.com
Categorías
Powershell

No se puede cargar el archivo .ps1 porque en el sistema está deshabilitada la ejecución de scripts

Si usted está leyendo esto por primera vez, PowerShell puede que sólo aparece el mensaje de error como se ha intentado ejecutar una secuencia de comandos.

El archivo C:\script.ps1 no se puede cargar porque en el sistema está deshabilitada la ejecución de scripts. Vea "get-help about_signing" para obtener más información.

La directiva de ejecución de PowerShell defecto se llama «Restricted«. En este modo, PowerShell funciona como un shell interactivo solamente.

¿Que es shell interactivo?

Significa, no ejecutar secuencias de comandos, y sólo carga los archivos de configuración firmados por un editor de confianza.

¿Como cambiar el shell interactivo?

Debe cambiar el valor desde linea de comandos del powershell, ejecutandose como administrador.

Set-ExecutionPolicy Unrestricted

Parámetros de Set-ExecutionPolicy

  • Restricted: No carga archivos de configuración ni ejecuta scripts. La configuración predeterminada es «Restricted».
  • AllSigned: Requiere que todas los scripts y archivos de configuración estén firmados por un editor de confianza, incluidos los scripts que se escriban en el equipo local.
  • RemoteSigned: Requiere que todos los scripts y archivos de configuración descargados de Internet estén firmados por un editor de confianza.
  • Unrestricted: Carga todos los archivos de configuración y ejecuta todos los scripts. Si ejecuta un script sin firmar descargado de Internet, se le pedirá permiso antes de ejecutarlo.
  • Bypass: No se bloquea nada y no hay advertencias ni peticiones.
  • Undefined: Quita del ámbito actual la directiva de ejecución asignada. Este parámetro no quita ninguna directiva de ejecución establecida en un ámbito de directiva de grupo.