Delen via


Windows-opdrachten - CMD en PowerShell

Van toepassing op: ✔️ Windows-VM's

Deze sectie bevat voorbeeldopdrachten voor het uitvoeren van algemene taken in scenario's waarin u SAC mogelijk moet gebruiken voor toegang tot uw Windows-VM, zoals wanneer u RDP-verbindingsfouten moet oplossen.

SAC is opgenomen in alle versies van Windows sinds Windows Server 2003, maar is standaard uitgeschakeld. SAC is afhankelijk van het sacdrv.sys kernelstuurprogramma, de Special Administration Console Helper service (sacsvr) en het sacsess.exe proces. Zie Hulpprogramma's en instellingen voor noodhulpdiensten voor meer informatie.

MET SAC kunt u verbinding maken met uw actieve besturingssysteem via seriële poort. Wanneer u CMD start vanuit SAC, sacsess.exe wordt het cmd.exe gestart in uw actieve besturingssysteem. U kunt dat zien in Taakbeheer als u RDP op hetzelfde moment met uw virtuele machine bent verbonden met SAC via de seriële consolefunctie. De CMD die u via SAC gebruikt, is hetzelfde cmd.exe als wanneer u verbinding maakt via RDP. Alle opdrachten en hulpprogramma's zijn beschikbaar, inclusief de mogelijkheid om PowerShell te starten vanuit dat CMD-exemplaar. Dat is een belangrijk verschil tussen SAC en de Windows Recovery Environment (WinRE) in dat SAC maakt dat u uw actieve besturingssysteem kunt beheren, waarbij WinRE wordt opgestart in een ander, minimaal besturingssysteem. Hoewel Azure-VM's geen ondersteuning bieden voor de mogelijkheid om toegang te krijgen tot WinRE, kunnen Azure-VM's met de seriële consolefunctie worden beheerd via SAC.

Omdat SAC beperkt is tot een 80x24-schermbuffer zonder terug te schuiven, voegt u opdrachten toe | more om de uitvoer één pagina tegelijk weer te geven. Gebruik <spacebar> dit om de volgende pagina te zien of <enter> om de volgende regel te zien.

SHIFT+INSERT is de snelkoppeling plakken voor het seriële consolevenster.

Vanwege de beperkte schermbuffer van SAC zijn langere opdrachten mogelijk gemakkelijker te typen in een lokale teksteditor en vervolgens in SAC geplakt.

Windows-registerinstellingen weergeven en bewerken met CMD

Controleer of RDP is ingeschakeld (Engelstalig)

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections

De tweede sleutel (onder \Policies) bestaat alleen als de relevante groepsbeleidsinstelling is geconfigureerd.

RDP inschakelen

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections /t REG_DWORD /d 0

De tweede sleutel (onder \Policies) zou alleen nodig zijn als de relevante groepsbeleidsinstelling is geconfigureerd. De waarde wordt herschreven bij de volgende vernieuwing van groepsbeleid als deze is geconfigureerd in groepsbeleid.

Windows-services beheren met CMD

Servicestatus weergeven

sc query termservice

Serviceaanmeldingsaccount weergeven

sc qc termservice

Serviceaanmeldingsaccount instellen

sc config termservice obj= "NT Authority\NetworkService"

Er is een spatie vereist na het gelijkteken.

Starttype van service instellen

sc config termservice start= demand

Er is een spatie vereist na het gelijkteken. Mogelijke beginwaarden zijn boot, , autosystem, demand, , disabled. delayed-auto

Serviceafhankelijkheden instellen

sc config termservice depend= RPCSS

Er is een spatie vereist na het gelijkteken.

Service starten

net start termservice

or

sc start termservice

Service stoppen

net stop termservice

or

sc stop termservice

Netwerkfuncties beheren met CMD

NIC-eigenschappen weergeven

netsh interface show interface

IP-eigenschappen weergeven

netsh interface ip show config

IPSec-configuratie weergeven

netsh nap client show configuration

NIC inschakelen

netsh interface set interface name="<interface name>" admin=enabled

NIC instellen voor het gebruik van DHCP

netsh interface ip set address name="<interface name>" source=dhcp

Klik hier voor meer informatie over.netsh

Virtuele Azure-machines moeten altijd worden geconfigureerd in het gastbesturingssystemen om DHCP te gebruiken om een IP-adres te verkrijgen. De statische IP-instelling van Azure maakt nog steeds gebruik van DHCP om het statische IP-adres aan de VIRTUELE machine te geven.

Ping

ping 8.8.8.8

Poort ping

De telnet-client installeren

dism /online /Enable-Feature /FeatureName:TelnetClient

Connectiviteit testen

telnet bing.com 80

De telnet-client verwijderen

dism /online /Disable-Feature /FeatureName:TelnetClient

Wanneer powerShell standaard beperkt is tot methoden die beschikbaar zijn in Windows, kan powerShell een betere benadering zijn voor het testen van poortconnectiviteit. Zie de onderstaande PowerShell-sectie voor voorbeelden.

DNS-naamomzetting testen

nslookup bing.com

Windows Firewall-regel weergeven

netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"

Windows Firewall uitschakelen

netsh advfirewall set allprofiles state off

U kunt deze opdracht gebruiken wanneer u problemen tijdelijk wilt uitsluiten van Windows Firewall. Het wordt ingeschakeld bij het volgende opnieuw opstarten of wanneer u deze inschakelt met behulp van de onderstaande opdracht. Stop de Windows Firewall-service (MPSSVC) of de BFE-service (Base Filtering Engine) niet als manier om de Windows Firewall uit te sluiten. Als u MPSSVC of BFE stopt, wordt alle connectiviteit geblokkeerd.

Windows Firewall inschakelen

netsh advfirewall set allprofiles state on

Gebruikers en groepen beheren met CMD

Lokaal gebruikersaccount maken

net user /add <username> <password>

Lokale gebruiker toevoegen aan lokale groep

net localgroup Administrators <username> /add

Controleren of gebruikersaccount is ingeschakeld

net user <username> | find /i "active"

Virtuele Azure-machines die zijn gemaakt op basis van een gegeneraliseerde installatiekopieën, hebben de naam van het lokale beheerdersaccount gewijzigd in de naam die is opgegeven tijdens het inrichten van de virtuele machine. Dus het zal meestal niet zijn Administrator.

Gebruikersaccount inschakelen

net user <username> /active:yes

Eigenschappen van gebruikersaccount weergeven

net user <username>

Voorbeeldregels van belang vanuit een lokaal beheerdersaccount:

Account active Yes

Account expires Never

Password expires Never

Workstations allowed All

Logon hours allowed All

Local Group Memberships *Administrators

Lokale groepen weergeven

net localgroup

Het Windows-gebeurtenislogboek beheren met BEHULP van CMD

Fouten in het gebeurtenislogboek van query's

wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more

Wijzig /c:10 het gewenste aantal gebeurtenissen dat moet worden geretourneerd of verplaats deze om alle gebeurtenissen te retourneren die overeenkomen met het filter.

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id

wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id en provider

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id en provider voor de afgelopen 24 uur

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Gebruik 604800000 dit om 7 dagen terug te kijken in plaats van 24 uur.

Query's uitvoeren op gebeurtenislogboek op gebeurtenis-id, provider en EventData in de afgelopen 7 dagen

wevtutil qe security /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

Geïnstalleerde toepassingen weergeven of verwijderen met CMD

Geïnstalleerde toepassingen vermelden

wmic product get Name,InstallDate | sort /r | more

De sort /r sorteert aflopend op installatiedatum, zodat u gemakkelijk kunt zien wat er onlangs is geïnstalleerd. Gebruik <spacebar> deze optie om naar de volgende pagina met uitvoer te gaan of <enter> om één regel vooruit te gaan.

Een toepassing verwijderen

wmic path win32_product where name="<name>" call uninstall

Vervang <name> door de naam die wordt geretourneerd in de bovenstaande opdracht voor de toepassing die u wilt verwijderen.

Bestandssysteembeheer met CMD

Bestandsversie ophalen

wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list

In dit voorbeeld wordt de bestandsversie van het virtuele NIC-stuurprogramma geretourneerd. Dit is netvsc.sys, netvsc63.sys of netvsc60.sys, afhankelijk van de Windows-versie.

Scannen op beschadiging van systeembestanden

sfc /scannow

Zie ook Een Windows-installatiekopieën herstellen.

Scannen op beschadiging van systeembestanden

dism /online /cleanup-image /scanhealth

Zie ook Een Windows-installatiekopieën herstellen.

Bestandsmachtigingen exporteren naar tekstbestand

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt

Bestandsmachtigingen opslaan in ACL-bestand

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t

Bestandsmachtigingen herstellen vanuit ACL-bestand

icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t

Het pad wanneer u het gebruikt /restore , moet de bovenliggende map zijn van de map die u hebt opgegeven bij gebruik /save. In dit voorbeeld is dit het bovenliggende element van de \MachineKeys map die in het /save bovenstaande voorbeeld \RSA is opgegeven.

NTFS-eigendom van een map overnemen

takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r

NTFS-machtigingen toewijzen aan een map recursief

icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"

Apparaten beheren

Niet-aanwezige PNP-apparaten verwijderen

%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean

Groepsbeleid beheren

Update van groepsbeleid afdwingen

gpupdate /force /wait:-1

Diverse taken met behulp van CMD

Versie van het besturingssysteem weergeven

ver

or

wmic os get caption,version,buildnumber /format:list

or

systeminfo find /i "os name"

systeminfo | findstr /i /r "os.*version.*build"

Installatiedatum van het besturingssysteem weergeven

systeminfo | find /i "original"

or

wmic os get installdate

Laatste opstarttijd weergeven

systeminfo | find /i "system boot time"

Tijdzone weergeven

systeminfo | find /i "time zone"

or

wmic timezone get caption,standardname /format:list

Windows opnieuw opstarten

shutdown /r /t 0

Als u toepassingen toevoegt /f , worden actieve toepassingen geforceerd gesloten zonder dat gebruikers worden gewaarschuwd.

Opstarten van veilige modus detecteren

bcdedit /enum | find /i "safeboot"

Windows-opdrachten - PowerShell

Als u PowerShell in SAC wilt uitvoeren nadat u bij een CMD-prompt bent, typt u:

powershell <enter>

Let op

Verwijder de PSReadLine-module uit de PowerShell-sessie voordat u andere PowerShell-opdrachten uitvoert. Er is een bekend probleem waarbij extra tekens kunnen worden geïntroduceerd in tekst die vanaf het klembord wordt geplakt als PSReadLine wordt uitgevoerd in een PowerShell-sessie in SAC.

Controleer eerst of PSReadLine is geladen. Deze wordt standaard geladen in Windows Server 2016, Windows 10 en latere versies van Windows. Het zou alleen aanwezig zijn in eerdere Windows-versies als deze handmatig was geïnstalleerd.

Als deze opdracht terugkeert naar een prompt zonder uitvoer, is de module niet geladen en kunt u de PowerShell-sessie in SAC gewoon blijven gebruiken.

get-module psreadline

Als de bovenstaande opdracht de versie van de PSReadLine-module retourneert, voert u de volgende opdracht uit om deze te verwijderen. Met deze opdracht wordt de module niet verwijderd of verwijderd. De module wordt alleen uit de huidige PowerShell-sessie verwijderd.

remove-module psreadline

Windows-registerinstellingen weergeven en bewerken met Behulp van PowerShell

Controleer of RDP is ingeschakeld (Engelstalig)

get-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections'

get-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections'

De tweede sleutel (onder \Policies) bestaat alleen als de relevante groepsbeleidsinstelling is geconfigureerd.

RDP inschakelen

set-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections' 0 -type dword

set-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections' 0 -type dword

De tweede sleutel (onder \Policies) zou alleen nodig zijn als de relevante groepsbeleidsinstelling is geconfigureerd. De waarde wordt herschreven bij de volgende vernieuwing van groepsbeleid als deze is geconfigureerd in groepsbeleid.

Windows Services beheren met Behulp van PowerShell

Servicedetails weergeven

get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId

Get-Service kan worden gebruikt, maar bevat niet het serviceaanmeldingsaccount. Get-WmiObject win32-service Doet.

Serviceaanmeldingsaccount instellen

(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')

Wanneer u een ander serviceaccount gebruikt dan NT AUTHORITY\LocalService, NT AUTHORITY\NetworkServiceof LocalSystem, geeft u het accountwachtwoord op als het laatste (achtste) argument achter de accountnaam.

Opstarttype van de service instellen

set-service termservice -startuptype Manual

Set-serviceAutomaticaccepteert, Manualof Disabled voor opstarttype.

Serviceafhankelijkheden instellen

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')

Service starten

start-service termservice

Service stoppen

stop-service termservice

Netwerkfuncties beheren met PowerShell

NIC-eigenschappen weergeven

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState

or

get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress

Get-NetAdapter is beschikbaar in 2012+, voor 2008R2 gebruik Get-WmiObject.

IP-eigenschappen weergeven

get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder

NIC inschakelen

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter

or

(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()

Get-NetAdapter is beschikbaar in 2012+, voor 2008R2 gebruik Get-WmiObject.

NIC instellen voor het gebruik van DHCP

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | Set-NetIPInterface -DHCP Enabled

(get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'").EnableDHCP()

Get-NetAdapter is beschikbaar op 2012+. Gebruik voor 2008R2 Get-WmiObject. Virtuele Azure-machines moeten altijd worden geconfigureerd in het gastbesturingssystemen om DHCP te gebruiken om een IP-adres te verkrijgen. De statische IP-instelling van Azure maakt nog steeds gebruik van DHCP om het IP-adres aan de VIRTUELE machine te geven.

Ping

test-netconnection

Notitie

De cmdlet Write-Progress werkt mogelijk niet met deze opdracht. Als beperking kunt $ProgressPreference = "SilentlyContinue" u uitvoeren in PowerShell om de voortgangsbalk uit te schakelen.

or

get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime

Test-Netconnection zonder parameters probeert te pingen internetbeacon.msedge.net. Deze is beschikbaar op 2012+. Gebruik voor 2008R2 Get-WmiObject zoals in het tweede voorbeeld.

Poort ping

test-netconnection -ComputerName bing.com -Port 80

or

(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)

Test-NetConnection is beschikbaar op 2012+. Gebruik voor 2008R2 Net.Sockets.TcpClient

DNS-naamomzetting testen

resolve-dnsname bing.com

or

[System.Net.Dns]::GetHostAddresses('bing.com')

Resolve-DnsName is beschikbaar op 2012+. Gebruik voor 2008R2 System.Net.DNS.

Windows Firewall-regel weergeven op naam

get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP

Windows Firewall-regel per poort weergeven

get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action

or

(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled

Get-NetFirewallPortFilter is beschikbaar op 2012+. Gebruik voor 2008R2 het hnetcfg.fwpolicy2 COM-object.

Windows Firewall uitschakelen

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Set-NetFirewallProfile is beschikbaar op 2012+. Gebruik voor 2008R2 netsh advfirewall , zoals wordt verwezen in de sectie CMD hierboven.

Gebruikers en groepen beheren met Behulp van PowerShell

Lokaal gebruikersaccount maken

new-localuser <name>

Controleren of gebruikersaccount is ingeschakeld

(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled

or

(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled

Get-LocalUser is beschikbaar op 2012+. Gebruik voor 2008R2 Get-WmiObject. In dit voorbeeld ziet u het ingebouwde lokale beheerdersaccount, dat altijd SID S-1-5-21-*-500heeft. Virtuele Azure-machines die zijn gemaakt op basis van een gegeneraliseerde installatiekopieën, hebben de naam van het lokale beheerdersaccount gewijzigd in de naam die is opgegeven tijdens het inrichten van de virtuele machine. Dus het zal meestal niet zijn Administrator.

Lokale gebruiker toevoegen aan lokale groep

add-localgroupmember -group Administrators -member <username>

Lokaal gebruikersaccount inschakelen

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser

In dit voorbeeld wordt het ingebouwde lokale beheerdersaccount ingeschakeld, dat altijd SID S-1-5-21-*-500heeft. Virtuele Azure-machines die zijn gemaakt op basis van een gegeneraliseerde installatiekopieën, hebben de naam van het lokale beheerdersaccount gewijzigd in de naam die is opgegeven tijdens het inrichten van de virtuele machine. Dus het zal meestal niet zijn Administrator.

Eigenschappen van gebruikersaccount weergeven

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *

or

get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID

Get-LocalUser is beschikbaar op 2012+. Gebruik voor 2008R2 Get-WmiObject. In dit voorbeeld ziet u het ingebouwde lokale beheerdersaccount, dat altijd SID S-1-5-21-*-500heeft.

Lokale groepen weergeven

(get-localgroup).name | sort (get-wmiobject win32_group).Name | sort

Get-LocalUser is beschikbaar op 2012+. Gebruik voor 2008R2 Get-WmiObject.

Het Windows-gebeurtenislogboek beheren met Behulp van PowerShell

Fouten in het gebeurtenislogboek van query's

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more

Wijzig /c:10 het gewenste aantal gebeurtenissen dat moet worden geretourneerd of verplaats deze om alle gebeurtenissen te retourneren die overeenkomen met het filter.

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id

get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id en provider

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

Query uitvoeren op gebeurtenislogboek op gebeurtenis-id en provider voor de afgelopen 24 uur

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Gebruik 604800000 dit om 7 dagen terug te kijken in plaats van 24 uur. |

Query's uitvoeren op gebeurtenislogboek op gebeurtenis-id, provider en EventData in de afgelopen 7 dagen

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

Geïnstalleerde toepassingen weergeven of verwijderen met Behulp van PowerShell

Geïnstalleerde software vermelden

get-wmiobject win32_product | select installdate,name | sort installdate -descending | more

Software verwijderen

(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()

Bestandssysteembeheer met Behulp van PowerShell

Bestandsversie ophalen

(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion

In dit voorbeeld wordt de bestandsversie van het virtuele NIC-stuurprogramma geretourneerd, die de naam heeft netvsc.sys, netvsc63.sys of netvsc60.sys, afhankelijk van de Windows-versie.

Bestand downloaden en extraheren

$path='c:\bin';md $path;cd $path;(new-object net.webclient).downloadfile( ('htTp:/'+'/download.sysinternals.com/files/SysinternalsSuite.zip'),"$path\SysinternalsSuite.zip");(new-object -com shelL.apPlication).namespace($path).CopyHere( (new-object -com shelL.apPlication).namespace("$path\SysinternalsSuite.zip").Items(),16)

In dit voorbeeld wordt een c:\bin map gemaakt en vervolgens de Sysinternals-suite met hulpprogramma's gedownload en geëxtraheerd in c:\bin.

Diverse taken met Behulp van PowerShell

Versie van het besturingssysteem weergeven

get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber

Installatiedatum van het besturingssysteem weergeven

(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)

Laatste opstarttijd weergeven

(get-wmiobject win32_operatingsystem).lastbootuptime

Windows-uptime weergeven

"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))

Retourneert uptime als <days>:<hours>:<minutes>:<seconds>:<milliseconds>bijvoorbeeld 49:16:48:00.00.

Windows opnieuw opstarten

restart-computer

Als u toepassingen toevoegt -force , worden actieve toepassingen geforceerd gesloten zonder dat gebruikers worden gewaarschuwd.

Exemplaarmetagegevens

U kunt vanuit uw Azure-VM query's uitvoeren op metagegevens van azure-exemplaren om details weer te geven, zoals osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress en publicIpAddress.

Voor het uitvoeren van query's op metagegevens van exemplaren is een goede gastnetwerkverbinding vereist, omdat er een REST-aanroep wordt uitgevoerd via de Azure-host naar de metagegevensservice van het exemplaar. Dus als u metagegevens van exemplaren kunt opvragen, geeft dat aan dat de gast via het netwerk kan communiceren met een door Azure gehoste service.

Zie de Azure Instance Metadata-service voor meer informatie.

Exemplaarmetagegevens

$im = invoke-restmethod -headers @{"metadata"="true"} -uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -method get

$im | convertto-json

Type besturingssysteem (exemplaarmetagegevens)

$im.Compute.osType

Locatie (exemplaarmetagegevens)

$im.Compute.Location

Grootte (metagegevens van exemplaar)

$im.Compute.vmSize

VM-id (instantiemetagegevens)

$im.Compute.vmId

VM-naam (instantiemetagegevens)

$im.Compute.name

Naam van resourcegroep (metagegevens van exemplaar)

$im.Compute.resourceGroupName

Abonnements-id (metagegevens van exemplaar)

$im.Compute.subscriptionId

Tags (instantiemetagegevens)

$im.Compute.tags

Plaatsingsgroep-id (instantiemetagegevens)

$im.Compute.placementGroupId

Platformfoutdomein (metagegevens van exemplaar)

$im.Compute.platformFaultDomain

Domein voor platformupdate (metagegevens van exemplaar)

$im.Compute.platformUpdateDomain

Privé-IP-adres van IPv4 (metagegevens van exemplaar)

$im.network.interface.ipv4.ipAddress.privateIpAddress

Openbaar IPv4-IP-adres (metagegevens van exemplaar)

$im.network.interface.ipv4.ipAddress.publicIpAddress

IPv4-subnetadres/voorvoegsel (metagegevens van exemplaar)

$im.network.interface.ipv4.subnet.address

$im.network.interface.ipv4.subnet.prefix

IPv6 IP-adres (metagegevens van exemplaar)

$im.network.interface.ipv6.ipAddress

MAC-adres (metagegevens van exemplaar)

$im.network.interface.macAddress

Volgende stappen

  • De windows-documentatiepagina van de hoofdconsole bevindt zich hier.
  • De seriële console is ook beschikbaar voor Linux-VM's .
  • Meer informatie over diagnostische gegevens over opstarten.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.