Deze content is door een machine vertaald. Raadpleeg de Disclaimer voor machinevertalingen.
Overschakelen naar Engels

How do I export hard disk and enclosure information from my NAS using a script?
Hoe exporteer ik harde schijf- en behuizingsinformatie van mijn NAS met behulp van een script?


Laatst gewijzigd op: 2025-09-17

Toepasselijke producten

NAS (QTS / QuTS hero)


Scenario

Als je een QNAP NAS met een uitbreidingsunit gebruikt, wil je misschien gedetailleerde informatie over alle geïnstalleerde harde schijven exporteren, zoals merk, model en serienummer, voor documentatie of inventarisatie. Hoewel deze informatie in de grafische interface verschijnt, kunnen gevorderde gebruikers deze schijfgegevens ophalen en exporteren via de opdrachtregel via SSH. Dit is nuttig voor automatisering of om een inventaris van je IT-middelen te maken. 


Procedure

  1. Schakel SSH-toegang in op je QNAP NAS.
    Opmerking: Het inschakelen van SSH kan beveiligingsrisico's met zich meebrengen. Zorg ervoor dat je sterke wachtwoorden gebruikt en schakel SSH uit wanneer het niet in gebruik is.
  2. Verbind met je NAS via SSHmet een SSH-client (zoals PuTTY of Terminal).
  3. Gebruik de meegeleverdehdd_id.shscript om schijfinformatie te exporteren:
    • Download of maak het script:Sla de volgende inhoud op alshdd_id.shop uw NAS:
      #!/bin/sh
      # Gebruik:
         ./hdd_id.sh                alle behuizingen, tab-gescheiden (naar stdout)
         ./hdd_id.sh --csv          alle behuizingen, schrijf naar --DiskList.csv
         ./hdd_id.sh 1              alleen enc_id=1, tab-gescheiden
         ./hdd_id.sh --csv 1        alleen enc_id=1, schrijf naar --DiskList.csv
      
      CSV=0
      if [ "$1" = "--csv" ]; then
        CSV=1
        shift
      fi
      
      if [ -n "$1" ]; then
        ENC_LIST="$1"
      else
        ENC_LIST=$(hal_app --se_enum 2>/dev/null | awk '
          /^=/{next}
          NF==0{next}
          /(^|[[:space:]])enc_id($|[[:space:]])/ { hdr=1; next }
          hdr && $1 ~ /^[0-9]+$/ { print $1 }
        ' | sort -n | uniq)
      fi
      
      [ -z "$ENC_LIST" ] && { echo "Geen behuizing enc_id gevonden."; exit 1; }
      
      OUTFILE=""
      DELIM="\t"
      if [ $CSV -eq 1 ]; then
        HOSTNAME=$(uname -n 2>/dev/null)
        [ -z "$HOSTNAME" ] && HOSTNAME="NAS"
        DATESTR=$(date +%Y%m%d)
        OUTFILE="${HOSTNAME}-${DATESTR}-DiskList.csv"
        DELIM="," 
        echo "Behuizing,Slot,Merk,Model,Serienummer" > "$OUTFILE"
      fi
      
      for ENC in $ENC_LIST; do
        NAME=$(hal_app --se_get_jbod_display_name enc_id=$ENC 2>/dev/null)
        [ -z "$NAME" ] && NAME="ENC_${ENC}"
      
        hal_app --pd_enum enc_id=$ENC 2>/dev/null | awk -v name="$NAME" -v D="$DELIM" -v csv="$CSV" -v out="$OUTFILE" '
          /^=/{next}
          NF==0{next}
          !hdr && /(^|[[:space:]])port_id($|[[:space:]])/ && /vendor/ && /model/ && /serial_no/ {
            for(i=1;i<=NF;i++){
              if($i=="port_id")    pid=i
              if($i=="vendor")     bid=i
              if($i=="model")      mid=i
              if($i=="serial_no")  sid=i
            }
            hdr=1; next
          }
          hdr && $1 ~ /^[0-9]+$/ && pid>0 && bid>0 && mid>0 && sid>0 {
            line = name D $(pid) D $(bid) D $(mid) D $(sid)
            if (csv==1) {
              print line >> out
            } else {
              print line
            }
          }
        '
      done
    • Maak het script uitvoerbaar:
      chmod +x hdd_id.sh
    • Voer het script uit indien nodig:
      • ./hdd_id.sh— Lijst alle behuizingen, output tab-gescheiden gegevens naar de terminal.
      • ./hdd_id.sh --csv— Lijst alle behuizingen, output naar een CSV-bestand genaamd<HOST>-<YYYYMMDD>-DiskList.csv.
      • ./hdd_id.sh 1— Lijst alleen behuizing metenc_id=1, tab-gescheiden.
      • ./hdd_id.sh --csv 1— Lijst alleen behuizingenc_id=1, output naar CSV.
    • Voorbeeld output:
      ENC_03TOSHIBAMC04ACA300E85G9XXXXFLVA
      ENC_06SeagateST8000VX010-2ZR188WPV0XYZZ
      ENC_07SeagateST8000VX010-2ZR188WPV0ZZZZ
      ENC_08SeagateST8000VX010-2ZR188WPVXXXR5
      TR-004-N0011SeagateST4000NE001-2MA101WS24ZZZB
      TR-004-N0012SeagateST4000NE001-2MA101WS24XXXY

      Elke regel bevat:Behuizingsnaam,Slot,Merk,Model,Serienummer.

    • Download het geëxporteerde bestand(bij gebruik van--csv) van je NAS met File Station of SMB/CIFS.



Verdere informatie

Was dit artikel nuttig?

Bedankt voor uw feedback.

Vertel ons a.u.b. hoe we dit artikel kunnen verbeteren.

Hieronder kunt u eventuele aanvullende feedback toevoegen.

Kies specificatie

      Toon meer Minder

      Deze website in andere landen/regio's:

      open menu
      back to top