Actualizar cuotas de directorios en FSRM con línea de comandos

Muchas veces tenemos configuradas o asignadas unas cuotas a ciertas rutas compartidas (o shares) para que los clientes no nos saturen el sistema de almacenamiento. Pero algunas veces, esas cuotas llegan al 100% de uso y el usuario borra el contenido total o parcial de la ruta con cuota y sigue teniendo problemas al añadir más contenido, ya que el porcentaje de uso no cambia.

En ocasiones, para solventar este problema, el administrador elimina la cuota y la vuelve a crear, con lo que el valor del porcentaje de uso se “actualiza” y de esa forma se “soluciona” el problema.

Pero realmente, el problema se va a volver a producir cuando se vuelva a llenar el directorio y se llegue al máximo que marca la cuota. Por eso, la mejor opción para actualizar el porcentaje de uso de una o varias cuotas es crear una tarea programada para actualizar los valores de dichas cuotas.

Actualizar las cuotas de directorios en FSRM se puede realizar de varias formas, a través de la consola del File Server Resource Manager o a través de línea de comandos (con cmd o con powershell).

CMD:

dirquota quota scan /path:[ruta de la cuota]

En las nuevas versiones de Windows Server funciona, pero Microsoft recomienda empezar a usar el cmdlet de PowerShell equivalente.

PowerShell:

foreach ($ruta in Get-FsrmQuota) { Update-FsrmQuota -path $ruta.path -Confirm:$false }

Con este método, en una sola línea, podemos refrescar todas las cuotas configuradas en un servidor. A continuación, explico el cmdlet:

  • Con Foreach guardo en la variable $ruta lo que va devolviendo Get-FsrmQuota, que es cada una de las cuotas configuradas en el servidor.
  • Get-FsrmQuota -> me devuelve el listado de todas las cuotas configuradas en el Servidor.
  • Update-FsrmQuota -> actualizo el porcentaje de uso de la cuota del directorio pasado por el parámetro -path.
  • -Path -> Como me interesa la propiedad “path” de $ruta, en el parámetro -path [ruta del directorio] indico $ruta.path