- Estructura de directorios.
- Búsqueda de información del sistema. Órdenes. Herramientas gráficas.
- Sistema de archivos virtual.
- Software instalado. Órdenes. Herramientas gráficas.
- Gestión de la información del sistema. Rendimiento. Estadísticas.
- https://en.wikipedia.org/wiki/Security_Identifier
- https://answers.microsoft.com/es-es/windows/forum/windows_10-networking/compartir-archivos-y-carpetas-en-red-en-windows-10/2a966f3a-e3c1-4969-9775-01d5ef3ab1f2
- https://www.jesusninoc.com/11/16/10-gestion-del-rendimiento-en-powershell-para-administradores-de-sistemas/#Copias_de_seguridad
https://www.jesusninoc.com/08/19/anadir-permiso-ntfs-a-una-carpeta
Atributos | Valor | Descripción |
---|---|---|
ContainerInherit | 1 | Los objetos contenedores secundarios se heredan de la ACE. |
None | 0 | Los objetos secundarios no se heredan de la ACE. |
ObjectInherit | 2 | Los objetos hoja secundarios se heredan de la ACE. |
In short, access control entries (ACEs) flagged only with "Object Inheritance" apply that ACE to files in a folder, but not subfolders within that folder. ACEs flagged only with "Container Inheritance" apply that ACE to subfolders of the folder but not files.
# "'pepito', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" | Out-File permisos.txt
$permisos = Get-Acl -Path directorio
gc .\permisos.txt | %{
$_
$regla = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($_.replace(", '","@").split("@").replace("'",""))
$permisos.SetAccessRule($regla)
$permisos | Set-Acl -Path directorio
}
# "'carpeta1ggasdfasdf', 'pepito', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" > permisosconcarpetas.txt
# "carpeta2adsfasdfsd', 'gi1', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" >> permisosconcarpetas.txt
gc ..\permisosconcarpetas.txt | %{
$permisos = Get-Acl -Path directorio
$_
$var=$_.replace(", '","@").split("@").replace("'","")
mkdir $var[0] -force
$regla = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($var[1..$var.Length])
$permisos.SetAccessRule($regla)
$regla = $null
$permisos | Set-Acl -Path $var[0]
}
- https://www.jesusninoc.com/02/08/crear-objetos-en-powershell-5/
- https://www.jesusninoc.com/02/14/trabajar-con-objetos-en-powershell-5/
- https://www.jesusninoc.com/07/02/2-programacion-en-powershell/#Objetos
$grupos = wsl cat /etc/group
$todos = foreach($grupito in $grupos)
{
$grupito.split(":")[0]
}
$todos | Sort-Object -Property Length -Descending | select -First 5
$grupos = wsl cat /etc/group
$todos=foreach($nombre in $grupos)
{
"El grupo "+$nombre.Split(":")[0]+" tiene "+$nombre.Split(":")[0].Length+" caracteres en su nombre."
}
$todosordenados=$todos | Sort-Object -Property Length -Descending | select -First 5
$todosordenados
$grupos = wsl cat /etc/group
"usuarios,x,numero" | out-file usuarioslinux.csv
$grupos.replace(":",",") | out-file usuarioslinux.csv -Append
$usuarios = Import-Csv usuarioslinux.csv
$usuarios.usuarios | Sort-Object -Property length | select -Last 5
https://www.jesusninoc.com/07/02/2-programacion-en-powershell/#Fechas
mysqldump -u [user name] -p[password] [database name] > [dump file]
https://github.com/jesusninoc/Scripts/blob/master/MySQL%20dump%20ignorando%20tablas.sh
https://github.com/jesusninoc/Scripts/blob/master/MySQL%20dump%20completo.sh
- https://www.jesusninoc.com/07/04/4-gestion-del-sistema-de-archivos-en-powershell/#Comprimir
- https://www.jesusninoc.com/07/04/4-gestion-del-sistema-de-archivos-en-powershell/#Descomprimir
Compress-Archive -LiteralPath C:\powershell\example.txt –CompressionLevel Optimal -DestinationPath C:\powershell\comprimido.zip
Expand-Archive -LiteralPath C:\powershell\comprimido.zip -DestinationPath C:\powershell\descomprimir
Compress-Archive -LiteralPath C:\powershell\example2.txt -Update -DestinationPath C:\powershell\comprimido.zip
- Copia de seguridad para cada día de la semana y ser capaz de recuperar
- Comprimir las copias de seguridad que se han realizado
- Enviar un mail cuando se haya realizado la copia de seguridad
mkdir (Get-Date).ToString("yyyyMMdd")
cd (Get-Date).ToString("yyyyMMdd")
Get-ChildItem ../ *.txt | Copy-Item
Get-ChildItem | select LastWriteTime
Get-ChildItem ../ | where LastWriteTime -gt (Get-Date).AddDays(-1) | Copy-Item
# Restaurar
mkdir tuscosasperdidas
cd .\tuscosasperdidas
Get-ChildItem ../ | Copy-Item
# Restaurar en función de lo que pide el usuario
$datosusar = Read-Host "Dime el nombre del arhcivo que tengo que recuperar"
ls $datosusar* | Copy-Item
# Comprimir el directorio con la fecha
$fecha = (Get-Date).ToString("yyyyMMdd") + ".zip"
Compress-Archive -LiteralPath .\20181119 –CompressionLevel Optimal -DestinationPath $fecha
Compress-Archive -LiteralPath virus.exe -Update -DestinationPath $fecha