PowerShell: jugar con variables de entorno
Las variables de entorno hacen la vida más fácil. En este artículo describo cómo utilizar variables de entorno en el trabajo diario. Y voy a mostrar algunos ejemplos útiles.
Encontrar variables de entorno
En cmd, todas las variables se pueden mostrar usando el conjunto de comandos.
Sorprendentemente, eso no funciona en PowerShell:
En PowerShell, conjunto se refiere a Conjunto-Variable. Entonces tenemos que tomar otro camino.
En PowerShell, todas las variables de entorno se almacenan en el entorno de PowerShell Drive.
Para enumerarlos todos, ejecute
Get-ChildItem -Path env:
o
cd env:
dir
¿Por qué variables de entorno?
Imagine que tiene que copiar una carpeta de un sistema a otro. La carpeta debe almacenarse en el directorio raíz de Windows. Con las variables de entorno no es necesario preocuparse por la ubicación del directorio de Windows. La instalación de Windows en C:\Windows no es obligatoria. Simplemente use la variable windir y debería usar la carpeta correcta.
Copy-Item -Path C:\Temp\computers.txt -Destination $env:windir
Cosas interesantes. Las variables de entorno también pueden ayudarle a cambiar a un directorio de forma más rápida.
Ejemplos
Averiguar el nombre de la computadora
$env:computername
Ok, tengo que admitirlo: es más fácil usar el comando nombre de host. ?
Descubriendo el Logonserver
$env:logonserver
Configurar una tarea programada
Por ejemplo, si desea iniciar PowerShell en cada inicio de sesión, ejecute este código y preste atención a la línea 4. Allí verá la variable de entorno de nombre de usuario en acción.
$Action=New-ScheduledTaskAction -Execute "powershell.exe"
$Trigger=New-ScheduledTaskTrigger -AtLogOn
$Set=New-ScheduledTaskSettingsSet
$Principal=New-ScheduledTaskPrincipal -UserID "$env:username" -LogonType Interactive -RunLevel Highest
$Task=New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Set -Principal $Principal
Register-ScheduledTask -TaskName PowerShellAtLogon -InputObject $Task










