# Operadores PowerShell

> Para cuando trabajas **dentro** de la víctima Windows. Base de Port scanner PowerShell.

```
|        tubería (igual que bash)            Get-Process | Where-Object {...}
%        alias de ForEach-Object             1..200 | % { ... }
$_       el elemento actual del bucle        1..10 | % { "puerto $_" }
-and -or -not (o !)   lógicos
-eq -ne  igual / distinto                    ($x -eq 5)
-lt -gt -le -ge       menor/mayor (-igual)   ($port -lt 1000)
>        redirige a fichero
2>$null  silenciar errores (= 2>/dev/null)
Out-Null tirar salida no deseada             $c.Connect(..) | Out-Null
`        backtick = continuar en línea siguiente (como \ en bash)
;        separar comandos en una línea
```

## Trampas
- `"$_ABIERTO"` se lee como variable `_ABIERTO` (vacía). **Pon espacio**: `"$_ ABIERTO"`.
- Silenciar TODO al inicio de un script:
  ```powershell
  $ErrorActionPreference = "SilentlyContinue"
  $WarningPreference     = "SilentlyContinue"
  ```
  Por comando: `-ea 0` (ErrorAction) · `-wa 0` (WarningAction).
- Correr un `.ps1` bloqueado: `powershell -ep bypass -File .\script.ps1`.

Relacionado: Operadores Bash · Port scanner PowerShell · OSCP MOC
