Array1.
ps1
$num= 4,5,6,7
$nom= "perro","gato","jackie","charles"
Function Sumatorio([double]$numeros) {
$total=0
foreach ($numero in $numeros) {
$total += $numero
}
$total=0
foreach ($numero in $num){
$total+=$numero
Write-Host "el total es " $total
Write-Host "Vamos a saludar" $[Link] "personas"
foreach ($nombre in $nom){
if ($nombre -match "^c.*") {
Write-Host "Hola $nombre!"
}
}
Write-Host "El segundo elemento del array es" $nombres[1]
Calculoconmodo.ps1
Import-Module -DisableNameChecking .\Trigonometria.psm1
Get-Hipotenusa 12 34
Comandos.ps1
<#
.SYNOPSIS
BREVE DESCRIPCIÓN DE LO QUE HACE NUESTRO SCRIPT.
.DESCRIPCIÓN
DESCRIPCIÓN DEL USPO DEL SCRUIPT.
.NOTES
AUTOR: EL DIEGASO.
#>
echo "no hago mucho"
Comentarioyfecha.ps1
#COMENTARIOS SIMPLE
Get-Date
#COMENTARIO MULTILINEA
<#
COMENTARIO MULTILINEA O DE BLOQUE
#>
(Get-WmiObject win32_operatingsystem).caption
Compressor.ps1
<#
.SYNOPSIS
Script para comprimir un fichero o una carpeta de archivos con varias opciones.
.DESCRIPTION
-Show || Abre un fichero dentro del comprimido.
-Add || Añade el fichero al comprimido.
-Remove || Eliminar el fichero del comprimido.
-Extract || Extrae el fichero del comprimido a la carpeta.
-ExtractAll || Extraer todos los ficheros del comprimido a la carpeta.
#>
param(
[Parameter()][string]$param1, #comprimido
[Parameter()][string]$param2, #fichero
[Parameter()][string]$target,
[Parameter()][switch]$show,
[Parameter()][switch]$add,
[Parameter()][switch]$remove,
[Parameter()][switch]$extract,
[Parameter()][switch]$extractall
function menu {
Write-Host “================ $ Compressor ================ ”
Write-Host "1: -Show: Abrir fichero dentro del comprimido.”
Write-Host “2: -Add: Añadir el fichero al comprimido”
Write-Host “3: -Remove: Eliminar el fichero del comprimido.”
Write-Host “4: -Extract: Extraer el fichero del comprimido a la carpeta.”
Write-Host “5: -ExtractAll: Extraer todos los ficheros del comprimido a la carpeta.”
Write-Host “6: Presione ‘6’ para salir.”
$opcion = Read-Host "Elige una opción: "
switch($opcion){
1{
$param2= Read-Host -p "Elija un fichero para mostrarlo: "
& show
Write-Host "el fichero es $param2 y el comprimido $param1"
}
2{
$param2=Read-Host -p "Especifica el nombre del fichero: "
& add
}
3{
$param2=Read-Host -p "Especifica el nombre del fichero: "
& remove
}
4{
$param2=Read-Host -p "Especifica el nombre del fichero: "
extract
}
5{
$param2=Read-Host -p "Especifica el nombre del fichero: "
extractall
}
6{
exit
}
default {
Write-Host -ForegroundColor DarkRed "No has seleccionado ninguna opción."
exit
}
}
}
function show {
$destino=$ENV:TEMP
& "C:\Program Files\7-Zip\7z" "e" "-y" "-o$destino" "$param1" "$param2" | Out-Null
start-process "$destino\$param2" -wait
Write-Host "Fichero extraído en: " $destino
Remove-Item $destino\$param2 -Recurse -ErrorAction SilentlyContinue
}
function add {
Write-Host "Debes especificar primero el comprimido y luego el fichero"
& "C:\Program Files\7-Zip\7z" "a" "-y" "$param2" "$param1" | Out-Null
Write-Host "El comprimido $param1 ha añadido al fichero $param2"
}
function remove {
Write-Host "Debes especificar primero el comprimido y luego el fichero"
& "C:\Program Files\7-Zip\7z" "d" "$param2" "$param1" | Out-Null
Write-Host "El comprimido $param1 ha eliminado al fichero $param2"
}
function extract {
Write-Host "Debes especificar primero el comprimido y luego el fichero"
& "C:\Program Files\7-Zip\7z" "e" "-o$target" "$param2" "$param1" | Out-Null
Write-Host "El comprimido $param1 ha extraido del fichero $param2 al directorio $target"
}
function extractall {
Write-Host "Debes especificar el comprimido al final"
& "C:\Program Files\7-Zip\7z" "e" "-o$target" "$param1" | Out-Null
Write-Host "El comprimido $param1 ha extraido todo al directorio $target"
}
if ($show) {
show
}
elseif ($add) {
add
}
elseif ($remove) {
remove
}
elseif ($extract) {
extract
}
elseif ($extractall) {
extractall
}
else {
menu
}
## ruta 7zip
##
## Comando para comprimir
Educado.ps1
#implementar una funcion que reciba la hora por parámetro
function saludar([int]$hora, [varchar]$nombre) {
if ($hora -ge 6 -and $hora -le 12 ) {
Write-Host "malos días " $nombre
elif ($hora -ge 12 -and $hora -le 18) {
Write-Host "levantate gandúl"
elif ($hora -ge 18 -and $hora -le 23 ) {
Write-Host "vete a acostarte " $nombre
else {
Write-Host "saludos " $nombre
}
}
}
}
}
expresionesregulares.ps1
$ofimatica = "word", "excel","powerpoint","access"
if ("writer" -in $ofimatica){
Write-Host "Está"
}
else {
Write-Host "no está"
}
Write-Host "Powerpoint ocupa la posición " $[Link]("powerpoint")
Write-Host "[Link] fecha y hora"
Write-Host "[Link] usuarios"
$opcion=[INT](Read-Host -Prompt "Elige una opcion")
switch ($opcion) {
{$_ -in "a", "A"}{
Get-Date
}
{$_ -in "b","B"} {
Get-LocalUser
break
}
default {
Write-Host -ForegroundColor Red "Opción incorrecta"
}
}
Funciones.ps1
#function sumar([int]$x, [int]$y) {
# $resultado= $x + $y
# return $resultado
#}
#$s = sumar 4 6
#Write-host $s
param(
[int]$peso = 80,
[int]$altura = 176
)
function imc([int]$altura, [int]$peso) {
$altura = $altura / 100.0 #Convertir de cm a M
return $peso / [math]::pow($altura, 2) #imc= peso / altura ^2
$imc = imc $altura $peso
write-host "IMC: $imc"
IMC.ps1
<#
.DESCRIPTION
Calcular el indice de masa corporal
imc=peso/(altura^2) altura en metros
.EXAMPLE
.\IMC.ps1
¿Preguntar por el peso? 80
¿Altura? (cm) 178
Tu IMC es x
[Bajo peso, Normal, Sobrepeso]
#>
Param (
[FLOAT] $peso,
[FLOAT] $altura
)
if ($peso -eq 0) {
$peso=[float](read-Host -Prompt "¿Cuál es tu peso? (KG)")
}
if ($altura -eq 0) {
$altura=[float](read-Host -Prompt "¿Cuál es tu altura?(CM)")
}
$altura=$altura / 100
$IMC=$peso / ($altura*$altura)
Write-Host "tu imc es $resultado"
if ( $IMC -lt 18.5 ) {
write-host "Bajo Peso"
}
elseif ( $IMC -ge 18.5 -and $IMC -lt 25) {
write-host "Estás normal"
}
elseif ( $IMC -ge 25 -and $IMC -lt 30) {
write-host "Tienes sobrepeso"
}
elseif ( $IMC -ge 30) {
write-host "Estás obeso"
}
Rango.ps1
PARAM(
[Parameter(Mandatory=$true)][INT]$1,
[Parameter(Mandatory=$true)][INT]$2
)
for($1; $1 -le $2; $1++){
Write-Host $1
}
textomultilinea.ps1
$titulo = "Hola"
$texto = @"
<html>
<head>
<title>$titulo</title>
</head>
<body>
<h1>PRUEBA</h1>
</body>
</html>
"@
trigonometría.ps1
Function Cuadrado([double] $numero) {
return [math]::pow($numero, 2)
Function calcular-areaRectangulo([double] $ancho, [double] $alto) {
return $ancho * $alto
Function Hipotenusa([double] $cateto1, [double] $cateto2) {
return [math]::Sqrt($(Cuadrado($cateto1)) + (Cuadrado($cateto2)))
Export-ModuleMember -Function Get-calcular-areaRectangulo,Get-Hipotenusa
VariablesPowershell.ps1
#EN BASH ES ASÍ
#read -p "¿Cómo te llamas?"
$nombre = Read-Host -Prompt "¿Cómo te llamas?"
#variables
#bash
#fecha=$(date)
#powershell
$fecha = $(Get-Date)
write-host "hola $nombre"
write-host "Cómo estás”
adivinar.ps1
$numeroaleatorio=Get-Random (1..100)
$intento=1
While ($a -ne $numeroaleatorio) {
$a=Read-Host "Escribe un número entre 1 y 100"
if ($a -eq $numeroaleatorio) {
Write-Host "FELICIDADES"
}
elseif ($a -le $numeroaleatorio) {
Write-Host "El número $a es menor al generado"
$intento++
}
elseif ($a -ge $numeroaleatorio) {
Write-Host "El número $a es mayor al generado"
$intento++
}
}
Write-Host "Número de intentos="$intento
bucle.ps1
$a=1
while ($a -le 100){
Write-Host $a
$a++ #$a=$a+1
}
bucle1-100.ps1
for ($a=0; $a -le 100; $a++) {
write-host $a
}
comparar3numeros.ps1
Param (
[Parameter(Mandatory=$true)][Float] $operando1,
[Parameter(Mandatory=$true)][Float] $operando2,
[Parameter(Mandatory=$true)][Float] $operando3
)
if ($operando1 -eq $operando2) {
Write-Host "El $operando1 es igual que $operando2"
}
if ($operando1 -eq $operando3) {
write-host "El $operando3 es igual que $operando1"
}
if ($operando2 -eq $operando1) {
write-host "El $operando2 es igual que $operando1"
}
if ($operando2 -eq $operando1) {
write-host "El $operando2 es igual que $operando1"
}
comprobacionconexion.ps1
$ip="[Link]"
do {
Write-Host -NoNewline "Comprobando conexión a $ip..."
$test = Test-Connection -ComputerName $ip -Count 1 -ErrorAction SilentlyContinue
if ($test -eq $null){
Write-Host "[ERROR]"
} else {
Write-Host "[OK]"
}
} while($test -eq $null) #lo mismo es } until ($test -ne $null)
comprobared.ps1
<#
Comprobar a partir de una IP de red que PC´s están encendidos.
192.168.1 (Parámetro de tipo string obligatorio)
salida:
[Link]....[ENCENDIDO]
[Link]....[ENCENDIDO]
Comando Test-Connection
#>
Param(
[Parameter(Mandatory=$true)]$ip = "192.168.1."
for ($a = 1; $a -le 254; $a++) {
Write-Host -NoNewline "Comprobando conexión a $ip$a..."
$test = Test-Connection -ComputerName $ip$a -Count 1 -ErrorAction SilentlyContinue
if ($test -eq $null) {
Write-Host "[APAGADO]"
} else {
Write-Error "[ENCENDIDO]"
}
}
especiales.ps1
Write-Host $args[0] #echo $1
Write-Host $args[1] #echo $2
Write-Host $[Link] #echo $# numero de parametros
Write-Host "soy un objeto string".Length
foreach.ps1
<#
#>
$ficheros = Get-ChildItem
foreach ($f in $ficheros) {
Write-Host "el fichero" $[Link] "fue modificado el dia" $[Link] "y está en el
directorio" $[Link]
limitado.ps1
param(
[ValidateSet("word","excel","powerpoint")][string] $herramienta
)
Write-Host "La herramienta seleccionada es $herramienta"
listausuarioshtml.ps1
$usuarios = Get-LocalUser
$html = $env:TEMP + "\[Link]"
$listado=""
foreach ($usuario in $usuarios ) {
$listado=@"
$listado
$usuario</br>
"@
}
@"
<html>
<head>
<title>USUARIOS</title>
</head>
<body>
$listado
</body>
</html>
"@ > $html
$texto > [Link]
invoke-item [Link]
menu-tres.ps1
function menu{
Write-Host "1: Presione ‘1’ para esta opción.”
Write-Host “2: Presione ‘2’ para esta opción”.
Write-Host “3: Presione ‘3’ para esta opción”.
Write-Host “Q: Presione ‘Q’ para salir”.
}
Write-host "Elige una opción: "
while ($opción -ne 0){
0.\numero-mayor.ps1
1.\sumar-dos.ps1
2.\
}
mostrarcontenido.ps1
param(
[Parameter(Mandatory=$true)][String] $fichero
)
$contenido = Get-Content $fichero
$numero = 0
while ($numero -lt $[Link]) {
Write-Host ($numero + 1) " : " $contenido[$numero]
$numero++
}
multiplicardos.ps1
#Sumar dos valores por param
Param (
[Parameter(Mandatory=$true)][Float] $operando1,
[Parameter(Mandatory=$true)][Float] $operando2
)
$resultado=$operando1 * $operando2
Write-Host "El resultado de sumar $operando1 y $operando2 es $resultado"
pasosdeparametros.ps1
param(
[string] $primerparametro,
[string] $segundoparametro = "valor por defecto",
[switch] $tercero,
[bool] $cuarto,
[int] $quinto,
[float] $sexo
)
write-host $primerparametro=$primero
Write-Host $segundoparametro=$segundo
Write-Host $tercero=$tercero
Write-Host $cuarto=$cuarto
Write-Host $quinto=$quinto
sumardos.ps1
#Sumar dos valores por param
Param (
[Parameter(Mandatory=$true)][Float] $operando1,
[Parameter(Mandatory=$true)][Float] $operando2
)
$resultado=$operando1 + $operando2
Write-Host "El resultado de sumar $operando1 y $operando2 es $resultado"
usuariossistema.ps1
Param(
[string] $username
)
if ($username -eq "") {
$username=Read-Host -Prompt "Introduce el nombre del usuario"
}
$user=Get-LocalUser $username -ErrorAction SilentlyContinue
if ($user) {
Write-Host "Nombre del usuario: " $[Link]
Write-Host "SID :" $[Link]
Write-Host "Nombre completo : " $[Link]
Write-Host "Último inicio de sesión: " $[Link]
} else {
Write-Host -ForegroundColor Red "El usuario" $username "no existe"
}
yosoy.ps1
$a=(Get-LocalUser $env:USERNAME)
Write-Host $env:Username