De opdrachtregel onder Windows

Klein, sterk, zwart: we hebben het hier niet over de espresso na het eten, maar over de commandoregel onder Windows, in vakkringen ook wel shell genoemd. Het onopvallende zwarte venster is meer dan een overblijfsel …

De opdrachtregel onder Windows

  1. Tijdschrift
  2. »
  3. Artikel
  4. »
  5. Windows
  6. »
  7. De opdrachtregel onder Windows

Klein, sterk, zwart: we hebben het hier niet over de espresso na het eten, maar over de commandoregel onder Windows, in vakkringen ook wel shell genoemd. Het onopvallende zwarte venster is meer dan een overblijfsel uit de oude DOS-tijd en kan – als alle mogelijkheden bekend zijn – de Windows-professional veel klikwerk besparen. In het volgende artikel presenteren we de belangrijkste commando’s en mogelijkheden in de omgang met de Windows shell.

DOS, geen DOS

Een van onze oudste artikelen “De DOS-prompt overleven” staat nog steeds in de top20 van meest geraadpleegde artikelen op WinTotal. Destijds beschreef PCDParker welke commando’s worden gebruikt om bestandsbewerkingen uit te voeren in Shell/DOS. Oude DOS hazen zijn vandaag de dag zeker nog bekend met de commando’s. Veel van onze lezers zijn echter vaak verloren zonder muis en Verkenner en zijn dankbaar voor dergelijke hulp.

Maar de shell is – in tegenstelling tot wat het lijkt – geen DOS, maar een native Win32-toepassing en biedt meer dan eenvoudige bestandsbewerkingen. Zoals gebruikelijk op Linux-systemen kan via de shell veel meer worden gedaan en opgevraagd dan de meeste gebruikers zelfs maar weten.

Microsoft heeft overigens de opvolger van de huidige geïntroduceerd, die Windows PowerShell heet. Als objectgeoriënteerde opvolger van Cmd.exe leunt het volledig op .NET en biedt het veel nuttige vernieuwingen voor ontwikkelaars en beheerders. Meer informatie over Microsoft PowerShell vindt u op de PowerShell homepage en als download op WinTotal.

Welkom bij de Shell

U start de opdrachtregel, in het hierna alleen nog shell genoemd, als volgt:
De Windows-shell vindt u als uitvoerbaar bestand cmd.exe in de map System32 van Windows. U start de shell via Start -> Uitvoeren ([Windows-toets]+[R]) -> cmd.

Voor Windows Vista:
U kunt “Uitvoeren” in het menu Start herstellen of gewoon cmd invoeren bij het zoeken.
Gebruikers van Windows Vista moeten de invoer ook voltooien met [CTRL]+[ALT]+[Enter] om beheerdersrechten te hebben in de shell (zie Tip), tenzij UAC in het algemeen is uitgeschakeld.

De shell opent meestal in het huidige pad van de gebruiker of in de map System32. De plaats waar je iets kunt invoeren heet de prompt.

De shell, bij de prompt drive P:
Klik op de afbeelding om te vergroten

Eerst kun je de shell aanpassen aan je eigen wensen. Klik daartoe met de linker of rechter muisknop op het icoontje linksboven in de shell. In het menu dat verschijnt, kunt u onder Eigenschappen het uiterlijk en het gedrag van de shell bepalen.

Lay-out eigenschappen van de commandoregel
Klik op de afbeelding om te vergroten

Naast kleurkeuze, venster of volledige schermweergave kunt u onder Lay-out de venstergrootte en vensterbuffergrootte aanpassen: een hoogte van 50 tekens en een bufferhoogte (voor terugbladeren) van 500 tekens moet voldoende zijn. De breedte moet bij beide opties op 80 tekens blijven staan.

Onder Opties vindt u de bewerkingsopties QuickEdit-modus en Insert-modus.

QuickEdit-modus en invoegmodus
Klik op de afbeelding om te vergroten

In de QuickEdit-modus kunt u tekst in de schelp invoeren door de muisknop ingedrukt te houden. Als u vervolgens op RETURN drukt, wordt de gemarkeerde tekst naar het klembord gekopieerd. Als u dit niet wilt activeren, kunt u in het contextmenu van de shell kiezen voor “Markeren”. De rest is dan identiek.

Modus QuickEdit
Klik op de afbeelding om te vergroten

De geactiveerde invoegmodus maakt het mogelijk om nog tekst in te voegen op de opdrachtregel zonder de tekst rechts daarvan te overschrijven. Deze functie is vooral bekend van tekstbewerking.

De shell biedt ook veel comfortfuncties die nog bekend zijn van het oude Doskey-programma:
F3, bijvoorbeeld, voert het laatst gebruikte commando op de prompt opnieuw in. Met F8 kun je door de laatst gebruikte commando’s bladeren, met F7 kun je de geschiedenis zien en met F9 kun je het commandonummer (volgens de geschiedenis) direct oproepen.

Geschiedenis en Co.
Klik op de afbeelding om te vergroten

De pijltjestoetsen hebben ook een betekenis in de shell. Omhoog roept de laatste commando’s in omgekeerde volgorde op. Naar rechts herstelt tekens van het laatste commando.

Een overzicht van alle sneltoetsen en hun gebruik is te vinden in de online hulp van Windows XP onder het trefwoord “Doskey”.

Doskey, alle functies
Klik op de afbeelding om te vergroten

Integratie in het contextmenu

Zoals reeds getoond, opent de shell altijd in de map van de gebruiker of in de map System32. Als u naar een andere map wilt gaan, moet u het station en vervolgens het pad wijzigen met het commando cd of chdir. U kunt echter via een registervermelding een contextmenu-item maken voor de Verkenner, dat de shell opent in de momenteel geselecteerde map.

Maak daartoe in het register een contextmenu-item aan onder

HKEY_CLASSES_ROOT\Directoryshell
en
HKEY_CLASSES_ROOT\shell

een nieuwe sleutel met de naam cmd en daarin een tekst als“Prompt from here” als standaard SC. Maak verder onder de aangemaakte cmd-sleutel nog een sleutel met de naam commando en maak daarin een nieuwe string (geen naam = standaard) met de waarde cmd.exe /kcd %L. Download als gezipt reg-bestand.

CMD in het contextmenu
Klik op de afbeelding om te vergroten

De parameter /k draagt de shell op het volgende commando uit te voeren en vervolgens te wachten op nieuwe commando’s. Cd%L verandert in het huidige geselecteerde pad.

Speciale functie Windows Vista

De Windows Vista Verkenner biedt dezelfde functie als een nieuwe functie. Als u in het rechtervenster van de Verkenner de Shift-toets ingedrukt houdt terwijl u de rechtermuisknop indrukt, kunt u ook rechtstreeks toegang krijgen tot de opdrachtprompt via “Opdrachtprompt hier openen”. Op dezelfde manier kunt u het huidige pad van een gemarkeerde directory op het klembord zetten via “Kopiëren als pad”.

Opdrachtprompt in het contextmenu onder Vista
Klik op de afbeelding om te vergroten

Als je het item “Open command prompt here” permanent in het contextmenu wilt hebben en niet alleen met een Shift-rechts klik, moet je het item Extended in het register onder HKEY_CLASSES_ROOT\Directory\shell\cmd verwijderen.

Opdrachtprompt in het contextmenu onder Vista permanent
Klik op de afbeelding om te vergroten

Als je dit ook voor het contextmenu van de harde schijven wilt hebben, moet je ook de vermelding Extended in het register onder HKEY_CLASSES_ROOT\Directory\shell\cmd verwijderen.

Verdere mogelijkheden voor padoverdracht en voltooiing

Onder Windows XP biedt de shell andere manieren om het pad over te dragen: Enerzijds kun je padinformatie uit de Verkenner naar het shell-venster slepen. Als je vooraf cd invoert bij de prompt, verandert de shell na het slepen en neerzetten en een return in het pad. Deze functie werkt niet meer met Windows Vista.

Verder biedt de shell sinds Windows XP een autocomplete functie via de tab-toets. Als je bijvoorbeeld naar de map “Documents and Settings” wilt gaan en je bent in de root C:, is cd Dok voldoende De shell vult dan het pad aan. Als er geen exacte overeenkomst is (bijvoorbeeld System en System32), kunt u ook meerdere keren op TAB drukken.

Informatie over het gebruik van de commando’s

Normaal gesproken geeft elk commando een resultaat of voert het een actie uit. U kunt echter ook de uitvoer van een commando naar een bestand exporteren (bijvoorbeeld voor diagnostische doeleinden), verschillende commando’s koppelen of complexe query’s automatisch bepaalde taken laten uitvoeren als een batchbestand (eindigend op .bat of .cmd). Vooral de laatste optie wordt vaak gebruikt voor netwerken om bij het inloggen netwerkshares als stations voor bepaalde gebruikers te koppelen, om eventueel patches toe te passen, om de standaardprinter in te stellen, enz.

Pagina per pagina weergeven

Sommige commando’s overstelpen de gebruiker met informatie of bestandslijsten op de shell. Met de toevoeging |more na het commando stopt de uitvoer na elke pagina – bijv. dir c:\windows |more

Afsluiten naar een bestand

Het commando netstat -a geeft een lijst van alle verbindingen en geluisterde poorten. Met de toevoeging netstat -a > c:\Logfilesliste.txt wordt de uitvoer omgeleid naar een tekstbestand liste.txt in de map Logfiles. Deze omleiding werkt met alle commando’s die een resultaat uitvoeren en is altijd handig als de hoeveelheid informatie in de shell te verwarrend wordt. Als u geen speciale map opgeeft voor de omleiding naar een bestand, wordt het tekstbestand geschreven in de huidige map van de shell van waaruit het commando is aangeroepen.

Als u twee haakjes opgeeft in plaats van één, wordt het resultaat toegevoegd aan het genoemde bestand zonder de inhoud te verwijderen. U kunt continue logbestanden maken met deze truc

netstat -a >> c:ogfileslist.txt

Omleiden naar de printer

Natuurlijk werkt het omleiden ook naar de printer. Hiervoor moet de printerpoort na het haakje genoemd worden, bijvoorbeeld lpt1. De juiste syntaxis is dan netstat -a > lpt1

Voor netwerk- of USB-printers moet je echter een truc gebruiken: Hier gebeurt de uitvoer via Kladblok, dat afdrukt naar de standaardprinter. Hiervoor gebruiken we het hulpprogramma start, dat ook vensterprogramma’s kan aanroepen met parameters uit de shell (zie start).
De syntaxis is dan start /w notepad /p file.txt (eventueel met pad).

Combinatie van commando’s

Je kunt commando’s combineren met het & teken. De commando’s worden dan na elkaar verwerkt.
netstat -a > output.txt & start /w notepad /p output.txt
voert bijvoorbeeld de netstat -a uitvoer uit naar het bestand output.txt, dat vervolgens door Kladblok wordt afgedrukt op de standaardprinter.

Je kunt commando’s ook logisch combineren met behulp van haakjes:
(date /t & Time /t & netstat -a) > output.txt & start /w notepad /p output.txt
De datum, tijd en netstat-opdracht worden naar het bestand output.txt geschreven en vervolgens afgedrukt.

Voor kleinere bewerkingen is dit nog steeds zinvol. Maar voor complexere bewerkingen is een batchbestand dat nog becommentarieerd kan worden waarschijnlijk de betere keuze.

Batch-bestanden

De bekendste van alle batchbestanden was en is autoexec.bat. Onder DOS was het, samen met config.sys, verantwoordelijk voor het starten van het systeem en bevatte naast het starten van stuurprogramma’s ook queries en variabelen. Het onderwerp van batch-bestanden is zeer complex en valt buiten het bestek van dit artikel. De Windows help bevat een schat aan informatie over batch-bestanden, het aanmaken ervan, het gebruik van queries en variabelen, enz. met de resultaten van een zoekopdracht met de term “batch-bestanden” of met het commando overzicht. Verdere links over dit onderwerp staan aan het eind van het artikel.

Klein commando overzicht

Het klassieke help-commando laat alleen de standaard Windows-commando’s zien.
Een volledig overzicht kunt u onder Windows XP krijgen via de Windows help( voer als zoektermcommandoregelverwijzing in) of online (versie voor Windows XP).

Met Windows Vista is de inhoud helaas niet meer in de help opgenomen en de link in de online help zelf leidt nergens naartoe.

Commandoregelverwijzing onder Windows XP
Klik op de afbeelding om te vergroten

Terwijl sommige commando’s een of meer argumenten en parameters verwachten, starten andere commando’s onafhankelijke programma’s met aanvullende opdrachten, bijvoorbeeld diskpart.

Voor elk commando kun je de volledige syntax weergeven met command/?

Hieronder worden de commando’s en hun gebruik in de belangrijkste gebieden kort beschreven. De commando’s zijn thematisch gegroepeerd. Merk op dat we hier slechts een klein deel van de commando’s presenteren. Voor meer informatie kunt u de documentatie van het betreffende commando raadplegen in de online-help of op de prompt via commando /? Aanvullende informatie is ook te vinden in de sectie “Verdere weblinks en boekentips” aan het einde van het artikel.

Algemene commando’s

CLS

CLS (Clear Screen) maakt het scherm in de console leeg.

Echo

Het commando echo wordt vaak gebruikt in batch-bestanden en voert berichten uit of onderdrukt ze (echo off).
In verband met het opvragen van variabelen is echo echter ook zeer nuttig als eenvoudig commando. Met echo %computername% kun je bijvoorbeeld direct de naam van het werkstation opvragen, met echo %temp% het temp-pad, met echo %appdata% het pad voor de map met toepassingsgegevens of met echo %systemroot% het pad van de Windows-directory.

Echo
Klik op de afbeelding om te vergroten

U kunt een overzicht krijgen van alle mogelijke variabelen en hun waarden door op de prompt set in te voeren (zie hieronder).

Pad

Met het path commando kunt u de vaste directory-paden opgeven waarin de shell zoekt naar uitvoerbare programma’s wanneer u hun namen invoert. Path zonder opgave van parameters geeft eerst de reeds opgeslagen paden weer. Je kunt verdere paden toevoegen via path=C:^PFAD ;%path%. De specificatie van ;%path% heeft tot gevolg dat het vorige pad niet volledig wordt overschreven door het nieuwe, maar wordt aangevuld. Als u bijvoorbeeld uw eigen batchbestanden hebt in de map BATCH op C:, kunt u deze map opnemen met path=c: \Batch;%path% en vanaf dat moment kunt u het batchbestand op elk punt op de stations starten zonder eerst naar de bijbehorende map te gaan.

Pad
Klik op de afbeelding om te vergroten

Let op: Zodra je de shell sluit, worden de toegevoegde path-paths verwijderd. Voor permanent gebruik moeten de pad-statements daarom worden gespecificeerd in het configuratiescherm onder Systeem -> Geavanceerd -> Omgevingsvariabelen. Je kunt hier de padverklaring specificeren in relatie tot de gebruiker of systeembreed.

Pad systeembreed instellen
Klik op de afbeelding om te vergroten

Instellen

Het Set-commando zonder parameters toont de huidige omgevingsvariabelen, die je ook afzonderlijk kunt opvragen met Echo.

instellen
Klik op de afbeelding om te vergroten

Daarnaast biedt het Set-commando de mogelijkheid om nieuwe omgevingsvariabelen in te stellen of hun waarde te overschrijven.

Reg (+subcommando)

Met het REG-commando hebt u de directe mogelijkheid om toegang te krijgen tot het Windows-register, om waarden uit te lezen, te verwijderen, nieuwe te maken of te overschrijven. Het REG-commando verwacht een subcommando (Reg ADD, Reg DELETE, Reg COPY, Reg QUERY…) om bepaalde bewerkingen met betrekking tot de registerdatabase uit te voeren. U kunt de exacte syntaxis voor elk subcommando weergeven, bijvoorbeeld: reg add /?

reg add
Klik op de afbeelding om te vergroten

De volgende afkortingen worden gebruikt met reg voor alle hoofdsleutels in het register:

  • HLKM (Hkey_Local_Machine)
  • HKCU (Hkey_Current_User)
  • HKCS (Hkey_Classes_Root)
  • HKCC (Hkey_Current_Config)

Dus het commando

reg add HKLMWindowsCurrentVersion /v backuppath /t REG_SZ /d P:storage

doet het volgende:
In de sleutel HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindowsCurrentVersion wordt een nieuwe waarde(/v) met de naam backuppath gecreëerd, die de waarde(/d) P:storage als bestandstype(/t) REG_SZ (string) krijgt.

reg toevoegen voorbeeld
Klik op de afbeelding om te vergroten

Het commando reg add HKLM\Software\MicrosoftWindowsCurrentVersion back-upinfo daarentegen voegt een nieuwe subsleutel toe met de naam back-upinfo die voorheen niet bestond.

Opmerking: Het is vaak gemakkelijker om waarden in het register in te voeren of te exporteren met behulp van het GUI-programma regedit en de knoppen /s voor importeren of /a voor exporteren.

start

Met het commando start kunt u vanuit de shell een nieuw proces starten, meestal een Windows-programma. Met verdere parameters kun je de prioriteit van het proces bepalen en een geminimaliseerd of gemaximaliseerd venster voor weergave.

start /w notepad /p file.txt, bijvoorbeeld, start Notepad en wacht (/w) tot het klaar is. De parameter /p voor Kladblok drukt het bestand.txt af.

Bestandsbewerkingen

Cijfer

Het bestandssysteem NTFS biedt ook de mogelijkheid om bestanden te versleutelen of te ontsleutelen. Daarnaast kunt u ook de privésleutels en certificaten met codering exporteren om de gegevens eventueel zonder de bestaande account weer onversleuteld te kunnen openen. De parameter /e versleutelt en /d ontsleutelt de bestanden.

Voorbeeld: cipher /e c:Privates versleutelt de map Privates en de mappen en bestanden daarin.
Voorbeeld: cipher /e /c:Privates *.doc versleutelt alle DOC bestanden in de map Privates.

Voor meer informatie over versleuteling onder Windows, zie het aparte artikel “Bestandsversleuteling”.

Cacls

Het commando Cacls biedt de mogelijkheid om via de shell beveiligingsinstellingen voor bestanden en mappen in te stellen. Normaal gesproken gebruik je het tabblad “Beveiliging” in de eigenschappen van een map of bestand. Met Cacls kun je deze rechten echter ook via de shell instellen – wat overigens de enige manier is onder Windows XP Home (zonder bijbehorende extensies en patches).

Cacls e:\Documents*.* /p Children:N, bijvoorbeeld, verwijdert alle rechten voor de map Documents van het account “Children”.
In de Support.cab (zie einde artikel) vindt u het opdrachtregelprogramma Xcacls, dat verdere mogelijkheden biedt in verband met de beveiligingsinstellingen.

Compact

Met het commando Compact kunt u gebruik maken van de compressiefunctie die in het NTFS-bestandssysteem zit en bestanden en mappen inpakken (/c) of uitpakken (/u). Als u hele mappen wilt comprimeren, is de syntaxis: compact /c /s c:\Privates (voor de map “Privates” onder C:).

Uitvouwen

Het commando expand kan bestanden uit de door Windows gebruikte CAB-bestanden halen.
Met expand -d cab file krijgt u de inhoud van een CAB-bestand. Expand Cab file -f:files destination haalt de opgegeven bestanden uit het Cab-bestand naar de opgegeven bestemming.

Opmerking: Helaas kan Windows zelf geen gewone archieven (ZIP, RAR enz.) uitpakken via de opdrachtregel. U zult uzelf moeten helpen met externe middelen. Een zeer goede variant is het opdrachtregelprogramma van het gratis 7-Zip. Plaats de uitgepakte inhoud in een door het “pad” gebruikte map (bijv. Windows enz.). U kunt dan comfortabel bijna alle archiefbestanden uit de shell uitpakken of zelf maken.

Mogelijkheden van 7za
Klik op de afbeelding om te vergroten

Hernoemen

Met het Rename commando, afgekort ren, kun je meerdere bestanden tegelijk hernoemen. Voer bijvoorbeeld ren *.nfo *.txt in om alle nfo-bestanden te hernoemen naar txt-bestanden. Let op: Er vindt geen conversie naar het nieuwe formaat plaats.

Kopiëren

Het Copy commando kopieert een bestand naar een andere directory of naar dezelfde directory maar onder een andere naam. Het is echter niet geschikt voor meer diepgaande kopieeracties (zie XCopy).

kopieWinTotal.txt a: (kopieert de WinTotal.txt naar station a)
copyWinTotal.* c:\temp (kopieert alle bestanden met de naam WinTotal naar de directory c:temp)
copy c:\temp*.txt d:\windows (kopieert alle bestanden met de extensie txt in de directory c:temp naar de Windows directory op station d)

Verplaats

De Windows-gebruiker zou “knippen” zeggen tegen dit commando. In principe is deze opdracht identiek aan de opdracht kopiëren, alleen wordt het bronbestand verplaatst en niet gekopieerd. move *.* a: alle bestanden worden verplaatst naar station a.

XCopy

Het commando XCopy is de verbeterde versie van het commando copy en kan hele mappenbomen kopiëren. Hiervoor zijn tal van parameters beschikbaar. /e kopieert ook submappen (al dan niet leeg); /y onderdrukt het verzoek om het bestand op het doel te overschrijven, enz.

XCopy “c:\Documents and Settings”. “\ap73mi\favourites” /e /y

slaat bijvoorbeeld alle favorieten van de gebruiker ap73mi op in de map “Backups/ap73mi/favourites/” op de server “Middle Earth”.

Gebruikers- en klantenbeheer

Runas

Met het commando runas /user:Username programma start u een programma in de context van een andere gebruiker. U kunt dit commando ook gebruiken om bijvoorbeeld als beperkte gebruiker een programma uit te voeren in de context van de beheerder zonder in te loggen als admin. Vervang de gebruikersnaam door de schermnaam van de beheerder. Het benodigde wachtwoord wordt gevraagd wanneer het programma voor het eerst wordt opgeroepen en wordt vervolgens opgeslagen als /savecred ook als parameter wordt opgegeven.

Netwerk

Ping

Het ping-commando is eenvoudig, maar een van de belangrijkste voor diagnose in netwerken. Met het ping-commando stuurt u een verzoek naar een IP of een computernaam. Standaard stuurt het commando 4 signalen naar het station op afstand, geeft een lijst van elke levering en vat het geheel aan het eind statistisch samen. Zo kunt u snel controleren of het netwerk überhaupt functioneert en bijvoorbeeld of de router überhaupt bereikbaar is. Een ping naar de eigen computer (127.0.0.1) brengt vaak duidelijkheid als de TCP/IP-stack op de computer niet goed werkt.

Ping
Klik op het plaatje voor een vergroting

Ipconfig

IPconfig toont de IP-configuratie van de computer. U ziet het lokale IP, het subnetmasker en de gateway, die in thuisnetwerken meestal de router is. Als u een andere gateway ziet of de computer via het IP in een andere adresruimte aantreft, kan er een probleem zijn met de communicatie met de router of zijn DHCP-server.

Ipconfig
Klik op de afbeelding om te vergroten

Het uitgebreide commando ipconfig /all geeft gedetailleerde informatie.

Ipconfig /all
Klik op de afbeelding om te vergroten

Als de computer nog niet verbonden was met het LAN toen hij werd opgestart, zal hij geen DHCP-server vinden en dan een zelfgekozen IP gebruiken, die niet noodzakelijk in dezelfde adresruimte hoeft te liggen. Dit kan vooral gebeuren bij WLAN-verbindingen. Om een herstart te voorkomen, kunt u het systeem opdragen een nieuwe initialisatie uit te voeren met Ipconfig /renew. De computer zoekt nu opnieuw naar een DHCP-server en krijgt van deze (meestal router) een IP-adres alsmede het subnetmasker en de gateway.

Met ipconfig /release kunt u de IP-binding vrijgeven, per parameter ook alleen voor afzonderlijke netwerkverbindingen, bijv. als de computer via LAN en WLAN met andere netwerken is verbonden. Gebruik ipconfig /flushdns om de DNS-resolutiecache te legen.

tracert

Het tracert commando verwacht een IP of een computernaam. Het commando geeft dan als resultaat een lijst van de paden die het signaal aflegt van de computer naar de bestemming. U ziet het aantal tussenstations in het netwerk en hun vertraging.

tracert
Klik op de afbeelding om te vergroten

netstat

Met het commando netstat geeft de shell een lijst van alle actieve netwerkverbindingen met protocol, extern adres, poort en status. Met de parameter -a vermeldt netstat alle protocollen en verbindingen aan de serverzijde, terwijl netstat -n de verbindingen vermeldt met numerieke IP-adressen in plaats van computernamen.

netstat -a
Klik op de afbeelding om te vergroten

Je kunt de uitvoer ook beperken tot bepaalde protocollen (UDP, TCP), netstat -n -p tcp geeft bijvoorbeeld alleen de TCP-verbindingen weer.

netstat alleen TCP
Klik op de afbeelding om te vergroten

net (+subcommando)

Het commando net is een van de krachtigste configuratiecommando’s onder Windows voor het netwerk. Met het commando net kun je bestandsaandelen of gebruikersaccounts beïnvloeden, informatie over het netwerk opvragen en nog veel meer.

Met net help krijg je een lijst van alle subcommando’s en net SUBCOMMAND help geeft tenslotte de vereiste parameters weer.
De talrijke subcommando’s zijn hier interessant, bijv.

Net time (tijdbeheer)
Net user, localgroup, group (gebruikersbeheer)
Net share, use, file, session (beheert bestandsdelen)
Net config, statistics, view (informatie over het netwerk en netwerkdiensten)
Net start, pause, continue, stop (configuratie van Windows diensten)
Net send (berichten verzenden in het netwerk)
Net computer (computer opnemen in domein)

Voorbeelden:

Netshare geeft alle shares weer.

netto aandeel
Klik op de afbeelding om te vergroten

Met net share dokumentelan=e:\Dokumente /users:5 wordt de map e:Dokumente in het netwerk gedeeld als “dokumentelan” voor maximaal 5 gebruikers tegelijk.

net delen
Klik op de afbeelding om te vergroten

net use q:\mittelerdepublic integreert de share public op de server Mittelerde als drive Q in het systeem.

Met de toevoeging /delete wordt de binding van gebruik of de vrijgave van share verwijderd.

Bovendien kan /savecred worden gebruikt als optie voor net use en net share om de inloggegevens voor het gebruik van de share op te slaan. Wanneer de verbinding opnieuw tot stand wordt gebracht, hoeven de aanmeldingsgegevens niet meer te worden ingevoerd.

Informatie

sc

Hoewel het commando net ook de diensten kan beïnvloeden, biedt sc extra functies. Met het commando sc heb je verregaande toegang tot de Windows diensten. Met sc kun je bijvoorbeeld alle draaiende services weergeven, hun opstartgedrag wijzigen, enz.
Sc query state= alltoont bijvoorbeeld alle geïnstalleerde services. Hier vindt u ook de toewijzing van de interne servicenaam aan de naam in het computerbeheer. De interne naam is nodig als u diensten wilt stoppen met net stop service name of het starten van een dienst wilt voorkomen met sc config service start= disabled.

Getmac

Als u een WLAN-router gebruikt, kunt u meestal in een MAC-lijst vastleggen welke clients verbinding mogen maken. U kunt het MAC-adres van de WLAN-adapter achterhalen met het commando getmac. De uitvoer kan ook via parameters worden geformatteerd.

Systeeminfo

Met het eenvoudige commando systeminfo toont de shell relevante informatie over het gebruikte systeem. Naast informatie over het netwerk en het gebruikte systeem, vindt u ook informatie over de computer zelf en over geïnstalleerde hotfixes. De uitvoer kan ook worden geformatteerd via parameters en is geschikt voor uitvoer naar een bestand (bijvoorbeeld systeminfo /fo csv >c:\Logfilessysteminfo.txt voert een CSV-lijst uit).

Systeeminfo
Klik op de afbeelding om te vergroten

Takenlijst

Met het commando tasklist krijgt u alle lopende processen met het proces-ID (PID) in een lijst. Met de parameter /M krijg je ook de DLL’s geladen voor elk proces, met /V zie je meer informatie zoals de gebruikerscontext van het proces.

Takenlijst
Klik op de afbeelding om te vergroten

Tasklist ondersteunt ook filters voor query’s en geformatteerde uitvoer. Bovendien kunt u ook de taken van externe computers in het LAN opvragen of ze beëindigen met taskkill (zie hieronder).

Vooral in een batchbestand kan het interessant zijn om deze uitvoer om te leiden naar een bestand en dit bestand vervolgens met find te laten controleren op bepaalde processen.

Het gevonden proces kan dan worden beëindigd via taskkill /im .

Taskkill

Het commando taskkill is een aanvulling op het commando tasklist. Met de parameter /PID ID kunt u een proces beëindigen door het proces-ID op te geven. Als alternatief kunt u ook taskkill /im opgeven om het proces te beëindigen.

Afsluiten

Enkele jaren geleden was er een virus dat de computer na 30 seconden automatisch afsloot vanwege een programmafout. U kunt een shutdown annuleren met het commando shutdown -a of afsluiten met shutdown -s. shutdown -r herstart de computer. De parameter -f beëindigt de lopende programma’s zonder bevestiging. Het commando shutdown kan ook worden toegepast op andere computers in het LAN. De syntaxis voor het herstarten van een netwerkcomputer is dan shutdown -r -mflimmerkiste.

Assoc

Het assoc commando geeft een lijst van alle geregistreerde extensies en het bijbehorende bestandstype zonder parameters. Als je assoc specificeert met een extensie, krijg je het bestandstype – bijvoorbeeld assoc .doc. Als je assoc specificeert met het bestandstype, krijg je de uitgebreide specificatie voor het bestandstype.

Driverquery

Met Driverquery krijgt u een lijst van alle geïnstalleerde apparaten en systeemdrivers. Met de parameter /V wordt de lijst gedetailleerder.

Beheer van stations

Diskpart

Diskpart is geen commando, maar een zelfstandig schijfbeheerprogramma. Met Diskpart kun je partities aanmaken en verwijderen, partities actief maken, basisschijven omzetten in dynamische schijven, enz.

Diskpart
Klik op de afbeelding om te vergroten

Onder Windows Vista kun je met Diskpart zelfs partities verkleinen.

Omzetten

Externe harde schijven zijn vaak geformatteerd met FAT32. Met de opdracht Convert kunt u het bestandssysteem wijzigen in bijvoorbeeld NTFS, zonder de schijf opnieuw te formatteren of de gegevens erop eerst op te slaan. De opdracht convert e: /fs:ntfs converteert de E-schijf naar het NTFS-bestandssysteem.

Defrag

Met het commando Defrag kan de interne defragmentatie via de commandoregel worden gestart. De parameter -a bepaalt de mate van fragmentatie.-f forceert de defragmentatie zelfs als er weinig beschikbare ruimte op de harde schijf is.

Subst

Het Subst commando raakt langzaam in de vergetelheid, maar is altijd een hulp, vooral bij misleide installateurs.

Met het Subst commando kun je in Windows elk pad als extra station opnemen.

Subst k: d:\temp, bijvoorbeeld, integreert het pad d:\temp als een virtueel station K. De toepassingsgebieden van dergelijke stations zijn heel verschillend. In de praktijk komt het echter af en toe voor dat een installateur of verwijderaar toegang wil tot een station dat niet meer bestaat, maar er misschien ooit wel was. In deze gevallen kan het Subst commando helpen, bijvoorbeeld door eenvoudigweg het temp pad op de gewenste schijf te plaatsen.

Met Subst zonder parameters worden alle virtuele stations weergegeven en de parameter /d annuleert de toewijzing.

subst
Klik op de afbeelding om te vergroten

Verdere commando’s in de Support.cab

Op de Windows XP CD vindt u het bestand support.cab in de map SupportTools. Het bevat verdere hulpprogramma’s, waarvan sommige ook via de opdrachtregel worden uitgevoerd. U herkent deze EXE-bestanden aan het “eenvoudige” programmapictogram. Kopieer deze bestanden naar een map die onder de padinformatie valt, zodat u overal op het systeem toegang hebt tot deze opdrachten.

support.cab
Klik op de afbeelding om te vergroten

Een beschrijving van de ondersteuningstools is te vinden in het bestand supptools.chm binnen support.cab.

suptools.chm
Klik op de afbeelding om te vergroten

Het hier beschreven commando xcacls.exe is de uitgebreide versie van cacls.exe en biedt aanzienlijk meer mogelijkheden voor het beheer van de beveiligingsinstellingen.

Meer tools

Microsoft biedt nog meer voer voor CMD-vrienden, bijvoorbeeld de Windows Server 2003 Resource Kit Tools. Deze bevatten een verzameling hulpmiddelen – speciaal voor beheerders – voor het register, Active Directory en andere zaken. Veel van de commando’s zijn ook te gebruiken onder Windows 2000, XP en Vista. Downloaden via WinTotal.

De verzameling tools bevat ook Robocopy, dat ook onder Windows 2000 en XP gebruikt kan worden. We hebben een apart artikel over de Robocopy tool op WinTotal.

Aanvullende downloads

De tools van Sysinternals zijn enige tijd geleden door Microsoft overgenomen. Op de nieuwe ingangspagina zijn ze thematisch gegroepeerd en worden ze ook als suite ter download aangeboden (niet alle programma’s inbegrepen). Naast vele hulpjes met een GUI zijn er ook juweeltjes voor gebruik in de commandoregel: Link naar Microsoft Sysinternals.

De GNU Utilities for Win32 breiden de Windows command line uit met vele tools bekend uit de Unix omgeving, waaronder commando’s voor het in- en uitpakken van RAR en ZIP archieven, enz.
Om de commando’s comfortabel vanuit de CMD te starten, moeten ze na het uitpakken vanuit de map usrlocalwbin naar een systeemdirectory worden gekopieerd of moet optioneel het pad van de GNU utilities worden opgenomen in de path statement.

Verdere weblinks

  • http://www.ss64.com/nt/
  • http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true
  • http://de.wikibooks.org/wiki/Batch-Programmierung
  • Microsoft Command-line Reference – A-Z Lijst

Tips voor boeken

  • Windows-commando’s voor XP en Server 2003 – kort en krachtig
  • Windows-opdrachten voor Vista en Server 2003
  • Windows PowerShell – kort en krachtig
  • Windows 2003 Shell Scripting
  • Scripting voor beheerders
  • Microsoft Windows-opdrachtregelbeheer

Gerelateerde berichten