- Configurar una tarea en el programador de tareas.
Si es sin script, podemos programar que cuando encendemos el pc se abra Firefox y en opcional ponemos “//www.ieselcaminas.org”
Si es por script creamos un archivo .bat que se llama sfc / scannow cada 15 días.
Get-ChildItem -Path "Ruta" -Recurse | Where-Object CreationTime -LT (Get- Date).AddDays(-10) | Remove-Item (borrar_archivos.ps1)
- Aplicar permisos a las carpetas.
PowerShell:
- Dar de baja los grupos.
Get-ADGroup -Filter 'GroupScope -ne "DomainLocal"'
Remove-ADGroup -Identity SanjaysReports
En equipos remotos: Invoke-Command -ComputerName 10.10.10.10 ScriptBlock { Remove-LocalGroup -Name "MYGRP" } -credential administrator
New-ADGroup -Name "RODC Admins" -SamAccountName RODCAdmins -GroupCategory Security -GroupScope Global -DisplayName "RODC Administrators" -Path "CN=Users,DC=Fabrikam,DC=Com" -Description "Members of this group are RODC Administrators"
- Dar de alta los alumnos.
New-ADUser -Name “Carla Mateu” -Path “OU=FINANZAS, OU=Empresa,DC=EMPRESA,DC=LOCAL” -SamAccountName “carlam” -UserPrincipalName “carla.mateu@EMPRESA.LOCAL” -AccountPassword (ConvertTo-SecureString “aso2021.”-AsPlainText -Force) -GivenName “Carla” -Surname “Mateu” -ChangePasswordAtLogon $true -Enabled $true
- Dar de baja los alumnos.
Remove-ADUser b.jackson -Confirm:$False
- Crear la carpeta del servidor y la de los grupos.
New-item C:\*carpeta* -type directory
- Crear las carpetas personales de los alumnos.
- Compartir carpetas.
New-smbShare -Name “nombre” -path C:\*carpetaantescreada*
Get-smbshare -Special $false
- Aplicar permisos a las carpetas.
Cambiar y quitar permisos:
Grant -smbShareAccess -Name “nombre” -AccountName “Empresa\Profesores”-AccesRight Full -Force (puede ser read o write)
Revoke-SmbShare -Name “nombre” -AccountName “Todos” -Force
Permisos NTFS:
Eliminar la herencia y borrar los permisos asignados:
Icacls C:\Empresa /inheritance:r
Asignar permisos:
Icacls C:\Empresa /grant Administradores:F (full) o icacls C:\Empresa /grant “Administradores: (OI)(CI)F” para las subcarpetas
Icacls “” /grant Todos:R
Icacls C:\Empresa\Finanzas /grant “Empresa\Finanzas: (OI) (CI)M”
- Establecer el perfil móvil de los alumnos y la carpeta.
$usuario=Get-ADUser -Filter * -SearchBase "OU=PERSONAL, OU=EMPRESA,DC=EMPRESA,DC=LOCAL"
ForEach ($user in $usuario.SamAccountName) {
if ($user -ne $null) {
Set-ADUser -Identity $user -ProfilePath \\Empresa-dc1\Empresa_users\$user}
}
El path dependerá de donde esté la carpeta y la OU dependerá de los nombres que usemos.
- Visualización de procesos en ejecución.
Get-Process
Tasklist / tasklist /s *nombre o IP*
Taskkill /s IP /IM iexplore.exe (matar un proceso)
Taskkill /FI “USERNAME eq IVANP” /s IP (matar todos los procesos del usuario)
Invoke-Command {Get-Process -IncludeUserName | where UserName -Match ivanp | Stop-Process -Force} -ComputerName DESKTOP-2L05FFD
- Utilizar un menú para realizar las acciones anteriores.
do {
Write-host "Starting menu..."
Write-host "1. Eliminar un grupo"
Write-host "2. Crear un usuario"
Write-host "3. Eliminar un usuario"
Write-host "4. Crear carpeta"
Write-host "5. Compartir carpeta"
Write-host "6. Aplicar permiso a una carpeta"
Write-host "7. Ver proceso en ejecución"
Write-host "8. Crear perfil móvil"
Write-host "9. Salir"
[int]$opcion = Read-Host "Seleccione una opción"
switch($opcion)
{
1 {
[string]$grupo = Read-host "Introduzca el grupo que desea dar de baja"
Remove-ADGroup -Identity $grupo
Write-host "El grupo $grupo ha sido dado de baja"
}
2 {
[string]$nombre = Read-host "Introduce el nombre del nuevo usuario"
[string]$diminutivo = Read-host "Introduce el nombre acortado del usuario"
[string]$UO = Read-host "Introduce la unidad organizativa"
[string]$pass = Read-host "Introduce la contraseña del nuevo usuario"
New-ADUser -Name “$nombre” -Path “OU=$UO, OU=Empresa,DC=EMPRESA,DC=LOCAL” -SamAccountName “$usuario” -UserPrincipalName “$nombre@EMPRESA.LOCAL” -AccountPassword (ConvertTo-SecureString “$pass”-AsPlainText -Force) -GivenName “$nombre” -hangePasswordAtLogon $true -Enabled $true
}
3 {
[string]$nombre = Read-host "Introduzca el nombre del usuario que desea dar de baja”
Remove-ADUser $nombre -Confirm:$False}
4 {
[string]$nombre = Read-host "Introduzca el nombre de la carpeta que quiere crear"
[string]$directorio = Read-host "Introduzca el path de la carpeta que quiere crear"
New-item -Path “$directorio” -Name “$nombre” -type directory
}
5 {
[string]$carpeta= Read-host "Introduzca el nombre de la carpeta que quiere compartir”
[string]$directorio= Read-host "Introduzca el directorio de la carpeta que quiere compartir”
New-smbShare -Name “$carpeta” -path “$directorio”
6 {
[string]$opcion = Read-host "¿Quieres aplicar o revocar permisos? Para aplicar escribe 1 y para revocar 2"
If ($opcion -eq 1) {
[string]$carpeta = Read-host “¿Que carpeta quieres seleccionar?”
[string]$directorio = Read-host “Directorio de a quién le asignarás permiso (pon la ruta completa ejemplo Empresa\profesores)”
[string]$permiso = Read-host “¿Qué permiso quieres aplicar: Full, Read o Change”
Grant-smbShareAccess -Name “$carpeta” -AccountName “$directorio”-AccessRight $permiso -Force
}
Else {
Write-host “No se encuentra la opción”
}
If ($opcion -eq 2) {
[string]$carpeta = Read-host “¿Que carpeta quieres seleccionar?”
[string]$directorio = Read-host “Directorio de a quién le revocarás permiso (pon la ruta completa ejemplo Empresa\profesores)”
Revoke-SmbShareAccess -Name “$carpeta” -AccountName “$directorio” -Force
}
Else {
Write-host “No se encuentra la opción”
}
7 {
Get-Process
8 {
[string]$Unidad1= Read-host “Unidad organizativa de los usuarios que deseas asignarles un perfil móvil”
$usuario=Get-ADUser -Filter * -SearchBase "OU=$Unidad1, OU=EMPRESA, DC=EMPRESA,DC=LOCAL"
ForEach ($user in $usuario.SamAccountName) {
if ($user -ne $null) {
Set-ADUser -Identity $user -ProfilePath \\Empresa-dc1\Empresa_users\$user}
}
9 { "Exit";break }
}
}
until ($opcion -eq 9)
- Utilizar las iteraciones para leer de los ficheros .CSV
Lea desde un archivo CSV y escriba la salida como una tabla:
$CSV = Import-Csv "C:\MYFILE.csv"
$CSV | Format-Table
Lea desde un archivo CSV mediante el bucle denominado FOREACH.
$CSV = Import-Csv "C:\MYFILE.csv"
foreach($LINE in $CSV)
{
"The ID: $($LINE.ID), Name: $($LINE.NAME), the Age: $($LINE.AGE)"
}