Cómo encontrar un archivo y comprobar si existe con Powershell o Netwrix Auditor
Netwrix Auditor for Windows File Servers
- Ejecutar Netwrix Auditor → Ir a Informes → Abrir Análisis de Comportamiento de Usuario y Puntos Ciegos → Acceder a Divulgación de Información → Seleccionar Nombres de Archivos que Contienen Datos Sensibles → Hacer clic en Ver.
- Especifique los siguientes filtros y parámetros:
- Ruta UNC del objeto — Especifique la ruta a su recurso compartido de archivos
- Palabras no permitidas — Especifique la cadena que desea buscar en los nombres de archivo
- Haga clic en View Report.
Para guardar el informe, haga clic en el botón Export → Seleccione un formato, como PDF → Haga clic en Save as → Elija la ubicación deseada.
Aprende más sobre Netwrix Auditor for Windows File Servers
Auditoría Nativa
- Abra el PowerShell ISE.
- Ejecute un script como el siguiente, que devolverá todos los archivos en la carpeta de Contabilidad cuyo nombre de archivo incluya la cadena “payroll”:
$filename = '*payroll*.*'#you can use wildcards here for name and extension
$searchinfolder = '\\pdc\Shared\Accounting*'
Get-ChildItem -Path $searchinfolder -Filter $filename -Recurse | %{$_.FullName}
Los resultados mostrarán todos los archivos coincidentes.
Una vez que tenga una lista de archivos que podrían contener datos sensibles, es posible que desee trasladarlos a una ubicación segura. Sin embargo, su script de procesamiento terminará con un error si la ruta del archivo no es válida, por lo que antes de ejecutarlo, primero debe verificar la existencia del archivo o carpeta. Los siguientes comandos de PowerShell le ayudarán:
- Usando Get-Item para verificar si un archivo existe — Puedes usar el cmdlet Get-Item en PowerShell para encontrar un archivo por su nombre. Si la ruta del elemento especificado no existe, el script generará un error. A continuación se muestra un script de PowerShell que verifica si el archivo "Payroll 2022 - 2023.xlsx" existe utilizando el cmdlet Get-Item. Si el archivo existe, el script proporciona los detalles del archivo; si no, mostrará un mensaje indicando que el archivo no existe.
$file="C:\Shared\Accounting\Payroll 2022 - 2023.xlsx"
if (Test-Path$file) {
$item=Get-Item$file
Write-Host"The file exists. Details:"
$item
} else {
Write-Host"The file does not exist."
}
- Usando Get-ChildItem para verificar si un archivo existe — El cmdlet Get-ChildItem se utiliza típicamente para recuperar una lista de elementos en una ubicación especificada, pero también puede usarse para comprobar la existencia de un archivo específico. El script a continuación intenta recuperar el archivo "Payment_2021.rtf". Si el archivo existe, el script devolverá los detalles del archivo y un mensaje de éxito; de lo contrario, no se devolverá ninguna salida por Get-ChildItem y el cmdlet write host mostrará el mensaje "El archivo no existe."
$file="C:\Shared\Accounting\payment_2021.rtf"
$items=Get-ChildItem$file
if ($items) {
Write-Host"The file exists."
} else {
Write-Host"The file does not exist."
}
- Usando Test-Path para verificar si un archivo existe — Puedes usar el cmdlet Test-Path para comprobar si un archivo o carpeta específica existe. Devuelve True si el archivo o carpeta existe y False si no es así. Por ejemplo, para verificar si el archivo “Payroll 2022 – 2023” existe, ejecuta el siguiente script:
Test-Path-Path'C:\Shared\Accounting\Payroll 2022 - 2023.xlsx'
Para determinar si hay algún archivo en C:\Shared\Accounting\ que tenga la extensión .xlsx, ejecute el siguiente cmdlet Test-Path:
Test-Path-Path"C:\Shared\Accounting\*"-Include*.xlsx
También puedes usar Test-Path para verificar si una ruta es un archivo o un directorio. Agrega el ‑PathType con “leaf” como su valor, y el cmdlet devolverá “true” si la ruta es un archivo.
Test-path -Path "C:\Temp\Temp*" -pathtype leaf
Para validar la ruta de red de una carpeta compartida en una computadora remota, utilice este cmdlet:
Test-Path -Path "\\FileServer\Backup"
Encuentre sus archivos sensibles - y obtenga también detalles críticos sobre ellos
Para mantener la seguridad y el cumplimiento, los profesionales de TI necesitan buscar regularmente archivos que puedan contener datos sensibles y trasladarlos a una ubicación segura. Puedes encontrar y mover archivos manualmente usando Windows Explorer, pero este método toma mucho tiempo por lo que es útil principalmente cuando necesitas asegurar un único archivo. Para revisar múltiples archivos de manera más eficiente, puedes usar PowerShell. Sin embargo, un script de PowerShell para mover archivos terminará con un error si la ruta no es válida, por lo que antes de ejecutarlo, necesitas verificar meticulosamente si los archivos y carpetas existen, como se muestra en los ejemplos anteriores.
En lugar de gastar todo ese tiempo escribiendo y ejecutando scripts, ¿no preferirías simplemente abrir un informe preconstruido que verifica si tus datos sensibles están almacenados solo en lugares adecuados? Prueba Netwrix Auditor for Windows File Servers. No es solo más fácil — también obtienes mucha más información. Además de la ruta del objeto, verás los detalles de propiedad del archivo, los permisos de acceso de usuario y la actividad alrededor del archivo.
Compartir en