GNU/Linux >> Linux Esercitazione >  >> Linux

Diagnostica del disco insufficiente di Windows

Nota: Quando esegui gli script in questo articolo, assicurati di aprire PowerShell® come amministratore.

Verifica il tuo attuale utilizzo del disco con PowerShell

Quando si diagnostica lo spazio su disco insufficiente su un server Windows®, iniziare verificando l'utilizzo corrente sui dischi tramite PowerShell. Utilizzare il comando seguente per estrarre l'utilizzo del disco corrente per tutti i dischi sul server:

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

Controlla le prime 15 cartelle per volume

Dopo aver determinato quali volumi hanno poco spazio su disco, esegui il seguente script per determinare le prime cartelle in base all'utilizzo del disco in modo da poter determinare dove puoi liberare spazio:

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 ;

Dopo aver eseguito lo script, un messaggio ti chiede di Inserire il percorso da attraversare . Digita la lettera di unità che hai trovato utilizzando lo script precedente e premi Invio per procedere.

Tieni presente che questo processo può richiedere del tempo a seconda del numero di file e cartelle sul disco. Dopo che lo script ha restituito i risultati, controlla le cartelle elencate per vedere se ci sono file che non sono più necessari. Elimina quei file per liberare spazio su disco.

Avviso: Assicurati di eliminare solo i file o le cartelle che conosci. Se elimini file o cartelle sconosciuti, potresti perdere file o software di sistema importanti. Questa perdita potrebbe causare il mancato funzionamento del server o del software.


Linux
  1. 10 MOTIVI PER CAMBIARE WINDOWS 10 IN LINUX

  2. Collega a finestre diverse in sessione?

  3. Panoramica del Visualizzatore eventi di Windows

  4. Diagnostica di Windows con memoria insufficiente

  5. Come installare InfluxDB su Windows

Come installare Python 3 su Windows 10

8 migliori alternative a PuTTY

5 migliori sistemi operativi Linux per sostituire Windows XP

6 distribuzioni Linux per sostituire Windows 10 e 7

Come eseguire Windows 95 su Linux

Sicurezza Linux vs Windows