GNU/Linux >> Tutoriales Linux >  >> Linux

Diagnóstico de disco bajo de Windows

Nota: Al ejecutar los scripts de este artículo, asegúrese de abrir PowerShell® como administrador.

Verifique el uso actual de su disco con PowerShell

Cuando diagnostique poco espacio en disco en un servidor Windows®, comience por verificar el uso actual en sus discos mediante PowerShell. Use el siguiente comando para extraer la utilización actual del disco para todos los discos en el servidor:

Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq "3" } | Select-Object SystemName,
      @{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
      @{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
      @{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
      @{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
      Format-Table -AutoSize | Out-String

Consulte las 15 carpetas principales por volumen

Después de determinar qué volúmenes tienen poco espacio en disco, ejecute el siguiente script para determinar las carpetas principales por uso del disco para que pueda determinar dónde puede liberar espacio:

cd \
$Table = Get-WmiObject Win32_Volume -ComputerName LocalHost `
| Format-Table Name, `
@{Name="Size(MB)";Expression={"{0:0,0.00}" -f($_.Capacity/1mb)}}, `
@{Name="Free Space(MB)";Expression={"{0:0,0.00}" -f($_.FreeSpace/1mb)}}, `
@{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.FreeSpace/1mb) / ($_.Capacity/1mb))}};
$Table;$input = Read-Host -Prompt 'Input path to traverse'; Set-Location $Input;
function Get-LowDisk($maxResults=15, $startLocation=(Get-Location)){
  if("$startLocation".EndsWith("\")){$startLocation = "$startLocation".TrimEnd("\")}
  function Calc-Directories ($startFolder, $foldersHT=@{}, $depth=1){    $itemSum = 0L;
    if($startFolder -notmatch "c\:\\Windows|System Volume Information"){
        $dirList = Get-ChildItem ($startFolder) -force
        $folders = $dirList | Where-Object {$_.PSIsContainer -eq $True} | Where {($_.attributes.toString() -like "*ReparsePoint*") -eq $False};
        $files   = $dirList | Where-Object {!$_.PSIsContainer -eq $True};      if($files){$itemSum = ($files | Measure-Object -property length -sum).sum;}
        if(!$folders.Count -and $folders -ne $null){
            $subFolder = "$startFolder\" + $folders;
            $itemSum += Calc-Directories "$subFolder" $foldersHT ($depth+1);
        }else{
            for ($i=0;$i -lt $folders.Count; $i++ ){
                $subFolder = "$startFolder\" + $folders[$i].Name;
                if($depth -le 1){ Write-Progress -Activity "Finding Largest Folders" -status ":: Top Level Folders Progress :: $subFolder"-percentComplete ($i / $folders.count*100) -Id 1;}
                $itemSum += Calc-Directories "$subFolder" $foldersHT ($depth+1);
        }   }
        }elseif($startFolder -match "c\:\\Windows"){$itemsum=(Get-ChildItem C:\Windows -force -Recurse -ErrorAction     SilentlyContinue | Measure-Object -property length -sum).sum;}
      $foldersHT[$startFolder] = $itemSum;
      return $itemSum;
    }
    $elapsed = [System.Diagnostics.Stopwatch]::StartNew();
    $resultsHT = @{}; Calc-Directories $startLocation $resultsHT | Out-Null;
    $formattedOutput = $resultsHT.GetEnumerator() | sort value -desc | select -First $maxResults | Format-Table -AutoSize @{Expression={$_.Name};Label="Folder Name"}, @{Expression={($_.Value / 1GB)};Label="Size (GB)";Format="{0:N2}"};
    write-host "`r`n`r`n-- Total Disk Scan Time: $($elapsed.Elapsed.ToString()) --";
    $Table;
    write-host "`r`n-----------`r`nTop $maxResults folders by size`r`n-----------" -foregroundcolor "yellow";
    return $formattedOutput;
} Get-LowDisk 15 ;

Después de ejecutar el script, un mensaje le pide que Ingrese la ruta a recorrer . Escriba la letra de la unidad que encontró usando el script anterior y presione Enter para proceder.

Tenga en cuenta que este proceso puede demorar un tiempo dependiendo de la cantidad de archivos y carpetas en el disco. Después de que la secuencia de comandos devuelva los resultados, verifique las carpetas enumeradas para ver si hay archivos que ya no son necesarios. Elimine esos archivos para liberar espacio en disco.

Advertencia: Asegúrese de eliminar solo archivos o carpetas con los que esté familiarizado. Si elimina archivos o carpetas desconocidos, es posible que pierda software o archivos importantes del sistema. Esta pérdida podría hacer que el servidor o el software dejen de funcionar.


Linux
  1. 10 RAZONES PARA CAMBIAR WINDOWS 10 A LINUX

  2. ¿Adjuntar a diferentes ventanas en la sesión?

  3. Agregar una IP a un servidor de Windows

  4. Descripción general del Visor de eventos de Windows

  5. Diagnósticos de poca memoria de Windows

Cómo instalar Python 3 en Windows 10

Las 8 mejores alternativas de masilla

5 mejores sistemas operativos Linux para reemplazar Windows XP

6 distribuciones de Linux para reemplazar Windows 10 y 7

Cómo ejecutar Windows 95 en Linux

Seguridad de Linux frente a Windows