Commandes Windows - CMD et PowerShell
S’applique à : ✔️ Machine virtuelles Windows
Cette section présente des exemples de commandes permettant d’effectuer des tâches courantes dans les situations où vous pouvez avoir besoin d’utiliser la console SAC pour accéder à votre machine virtuelle Windows, notamment pour résoudre les échecs de connexion RDP.
La console SAC est incluse dans toutes les versions de Windows depuis Windows Server 2003, mais elle est désactivée par défaut. La console SAC s’appuie sur le pilote du noyau sacdrv.sys
, le service Special Administration Console Helper
(sacsvr
) et le processus sacsess.exe
. Pour plus d’informations, consultez la page Emergency Management Services Tools and Settings (Paramètres et outils des services de gestion d’urgence).
La console SAC vous permet de vous connecter à votre système d’exploitation en cours d’exécution par le biais du port série. Lorsque vous lancez CMD à partir de la console SAC, sacsess.exe
lance cmd.exe
au sein de votre système d’exploitation en cours d’exécution. Dans le Gestionnaire des tâches, vous pouvez constater que si vous établissez une connexion RDP vers votre machine virtuelle simultanément, vous êtes connecté à la console SAC par le biais de la fonctionnalité de console série. L’instance CMD à laquelle vous accédez par le biais de la console SAC est la même cmd.exe
que vous utilisez lorsque la connexion est établie par le biais du protocole RDP. Les mêmes commandes et les mêmes outils sont disponibles, y compris la possibilité de lancer PowerShell à partir de cette instance CMD. La console SAC diffère de l’environnement de récupération Windows (WinRE) : la console SAC vous permet de gérer votre système d’exploitation en cours d’exécution, tandis que WinRE démarre dans un système d’exploitation minimal. Alors que les machines virtuelles Azure ne permettent pas d’accéder à WinRE, les machines virtuelles Azure peuvent être gérées par le biais de la console SAC avec la fonctionnalité de console série.
La console SAC étant limitée à une mémoire tampon d’écran de 80x24 sans défilement arrière, ajoutez | more
aux commandes pour afficher la sortie page par page. Utilisez <spacebar>
pour afficher la page suivante ou <enter>
pour afficher la ligne suivante.
SHIFT+INSERT
est le raccourci de collage pour la fenêtre de console série.
En raison de la taille limitée de la mémoire tampon d’écran de la console SAC, il peut être plus facile de saisir les commandes les plus longues dans un éditeur de texte local, puis de les coller dans la console SAC.
Afficher et modifier les paramètres du Registre Windows avec CMD
Vérifier que le protocole RDP est activé
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections
La deuxième clé (sous \Policies) existe uniquement si le paramètre de stratégie de groupe approprié est configuré.
Activer le protocole RDP
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
La deuxième clé (sous \Policies) est nécessaire uniquement si le paramètre de stratégie de groupe approprié a été configuré. La valeur sera réécrite lors de la prochaine actualisation de la stratégie de groupe si ce paramètre est configuré dans la stratégie de groupe.
Gérer les services Windows avec CMD
Afficher l’état du service
sc query termservice
Afficher le compte de connexion au service
sc qc termservice
Paramétrer le compte de connexion au service
sc config termservice obj= "NT Authority\NetworkService"
Un espace est requis après le signe égal.
Paramétrer le type de démarrage de service
sc config termservice start= demand
Un espace est requis après le signe égal. Les valeurs possibles de démarrage sont boot
, system
, auto
, demand
, disabled
et delayed-auto
.
Paramétrer les dépendances de services
sc config termservice depend= RPCSS
Un espace est requis après le signe égal.
Démarrer le service
net start termservice
ou
sc start termservice
Arrêter le service
net stop termservice
ou
sc stop termservice
Gérer les fonctionnalités réseau avec CMD
Afficher les propriétés de la carte réseau
netsh interface show interface
Afficher les propriétés IP
netsh interface ip show config
Afficher la configuration IPSec
netsh nap client show configuration
Activer la carte réseau
netsh interface set interface name="<interface name>" admin=enabled
Paramétrer la carte réseau pour utiliser le protocole DHCP
netsh interface ip set address name="<interface name>" source=dhcp
Pour plus d’informations sur netsh
, cliquez ici.
Les machines virtuelles Azure doivent toujours être configurées dans le système d’exploitation invité pour que vous puissiez utiliser le protocole DHCP afin d’obtenir une adresse IP. Le paramètre IP statique Azure utilise toujours le protocole DHCP pour fournir l’adresse IP statique à la machine virtuelle.
Ping
ping 8.8.8.8
Ping au niveau du port
Installer le client telnet
dism /online /Enable-Feature /FeatureName:TelnetClient
Tester la connectivité
telnet bing.com 80
Suppression du client telnet
dism /online /Disable-Feature /FeatureName:TelnetClient
Lorsque vous êtes limité aux méthodes disponibles dans Windows par défaut, PowerShell peut constituer une meilleure approche pour tester la connectivité des ports. Consultez la section PowerShell ci-dessous pour obtenir des exemples.
Tester la résolution du nom DNS
nslookup bing.com
Afficher la règle de Pare-feu Windows
netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"
Désactiver le Pare-feu Windows
netsh advfirewall set allprofiles state off
Vous pouvez utiliser cette commande lors de la résolution des problèmes pour écarter temporairement le Pare-feu Windows. Il sera activé au prochain redémarrage ou lorsque vous l’activerez à l’aide de la commande ci-dessous. N’arrêtez pas le service de Pare-feu Windows (MPSSVC) ni le service de moteur de filtrage de base (BFE) pour écarter le Pare-feu Windows. L’arrêt des services MPSSVC ou BFE entraîne le blocage de toute la connectivité.
Activer le Pare-feu Windows
netsh advfirewall set allprofiles state on
Gérer les utilisateurs et les groupes avec CMD
Créer un compte d’utilisateur local
net user /add <username> <password>
Ajouter un utilisateur local au groupe local
net localgroup Administrators <username> /add
Vérifier que le compte d’utilisateur est activé
net user <username> | find /i "active"
Pour les machines virtuelles Azure créées à partir de l’image généralisée, le compte d’administrateur local sera renommé avec le nom spécifié lors de l’approvisionnement de la machine virtuelle. Il ne sera donc généralement pas Administrator
.
Activer un compte d’utilisateur
net user <username> /active:yes
Afficher les propriétés du compte d’utilisateur
net user <username>
Exemples de lignes d’intérêt provenant d’un compte administrateur local :
Account active Yes
Account expires Never
Password expires Never
Workstations allowed All
Logon hours allowed All
Local Group Memberships *Administrators
Afficher les groupes locaux
net localgroup
Gérer le journal des événements Windows avec CMD
Interroger les erreurs du journal des événements
wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more
Remplacez /c:10
par le nombre souhaité d’événements à retourner, ou supprimez-le pour retourner tous les événements correspondant au filtre.
Interroger le journal des événements en fonction de l’ID d’événement
wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more
Interroger le journal des événements en fonction de l’ID d’événement et du fournisseur
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
Interroger le journal des événements en fonction de l’ID d’événement et du fournisseur sur les 24 dernières heures
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]]]"
Utilisez 604800000
pour effectuer la recherche sur 7 jours au lieu de 24 heures.
Interroger le journal des événements en fonction de l’ID d’événement, du fournisseur et d’EventData sur les 7 derniers jours
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
Afficher ou supprimer les applications installées avec CMD
Répertorier les applications installées
wmic product get Name,InstallDate | sort /r | more
sort /r
permet d’effectuer un tri décroissant en fonction de la date d’installation pour vous aider à voir ce qui a été récemment installé. Utilisez <spacebar>
pour passer à la page suivante de sortie ou <enter>
pour avancer d’une ligne.
Désinstaller une application
wmic path win32_product where name="<name>" call uninstall
Remplacez <name>
par le nom retourné dans la commande ci-dessus pour l’application que vous souhaitez supprimer.
Gestion du système de fichiers avec CMD
Obtenir la version du fichier
wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list
Cet exemple retourne la version du fichier du pilote de carte réseau virtuel, qui se nomme netvsc.sys, netvsc63.sys ou netvsc60.sys selon la version de Windows.
Analyser l’endommagement des fichiers système
sfc /scannow
Voir aussi Repair a Windows Image (Réparer une image Windows).
Analyser l’endommagement des fichiers système
dism /online /cleanup-image /scanhealth
Voir aussi Repair a Windows Image (Réparer une image Windows).
Exporter les autorisations de fichier vers un fichier texte
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt
Enregistrer les autorisations de fichier dans un fichier ACL
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t
Restaurer les autorisations de fichier à partir d’un fichier ACL
icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t
Le chemin d’accès lors de l’utilisation de /restore
doit être le dossier parent du dossier que vous avez spécifié lors de l’utilisation de /save
. Dans cet exemple, \RSA
est le parent du dossier \MachineKeys
spécifié dans l’exemple /save
ci-dessus.
S’approprier les fichiers NTFS d’un dossier
takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r
Accorder des autorisations NTFS pour un dossier de manière récursive
icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"
Gérer des appareils
Supprimer les appareils Plug-and-Play non présents
%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
Gérer la stratégie de groupe
Forcer la mise à jour de la stratégie de groupe
gpupdate /force /wait:-1
Exécution de tâches diverses avec CMD
Afficher la version du système d’exploitation
ver
ou
wmic os get caption,version,buildnumber /format:list
ou
systeminfo find /i "os name"
systeminfo | findstr /i /r "os.*version.*build"
Afficher la date d’installation du système d’exploitation
systeminfo | find /i "original"
ou
wmic os get installdate
Afficher l’heure du dernier démarrage
systeminfo | find /i "system boot time"
Afficher le fuseau horaire
systeminfo | find /i "time zone"
ou
wmic timezone get caption,standardname /format:list
Redémarrer Windows
shutdown /r /t 0
L’ajout de /f
force la fermeture des applications en cours d’exécution sans avertir l’utilisateur.
Détecter le démarrage en mode sans échec
bcdedit /enum | find /i "safeboot"
Commandes Windows - PowerShell
Pour exécuter PowerShell dans la console SAC, après avoir accédé à une invite de commandes, entrez :
powershell <enter>
Attention
Supprimez le module PSReadLine à partir de la session PowerShell avant d’exécuter les autres commandes PowerShell. Il existe un problème connu qui entraîne l’introduction de caractères supplémentaires dans le texte collé à partir du Presse-papiers si le module PSReadLine est en cours d’exécution dans une session PowerShell au sein de la console SAC.
Vérifiez tout d’abord si PSReadLine est chargé. Il est chargé par défaut sur Windows Server 2016, Windows 10 et les versions ultérieures de Windows. Il sera uniquement présent dans les versions antérieures de Windows s’il a été installé manuellement.
Si cette commande renvoie à une invite sans aucune sortie, cela signifie que le module n’a pas été chargé et vous pouvez continuer à utiliser normalement la session PowerShell dans la console SAC.
get-module psreadline
Si la commande ci-dessus retourne la version du module PSReadLine, exécutez la commande suivante pour la décharger. Cette commande ne supprime pas et ne désinstalle pas le module. Elle la décharge uniquement de la session PowerShell active.
remove-module psreadline
Afficher et modifier les paramètres du Registre Windows avec PowerShell
Vérifier que le protocole RDP est activé
get-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections'
get-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections'
La deuxième clé (sous \Policies) existe uniquement si le paramètre de stratégie de groupe approprié est configuré.
Activer le protocole RDP
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
La deuxième clé (sous \Policies) est nécessaire uniquement si le paramètre de stratégie de groupe approprié a été configuré. La valeur sera réécrite lors de la prochaine actualisation de la stratégie de groupe si ce paramètre est configuré dans la stratégie de groupe.
Gérer les services Windows avec PowerShell
Afficher les détails sur le service
get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId
Il est possible d’utiliser Get-Service
, mais cela n’inclut pas le compte d’ouverture de session du service. Get-WmiObject win32-service
l’inclut.
Paramétrer le compte de connexion au service
(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')
Lorsque vous utilisez un compte de service autre que NT AUTHORITY\LocalService
, NT AUTHORITY\NetworkService
ou LocalSystem
, spécifiez le mot de passe du compte en tant que dernier argument (huitième) après le nom du compte.
Paramétrer le type de démarrage du service
set-service termservice -startuptype Manual
Set-service
accepte Automatic
, Manual
ou Disabled
comme type de démarrage.
Paramétrer les dépendances de services
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')
Démarrer le service
start-service termservice
Arrêter le service
stop-service termservice
Gérer les fonctionnalités réseau avec PowerShell
Afficher les propriétés de la carte réseau
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState
ou
get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress
Get-NetAdapter
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
.
Afficher les propriétés IP
get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder
Activer la carte réseau
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter
ou
(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()
Get-NetAdapter
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
.
Paramétrer la carte réseau pour utiliser le protocole 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
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
. Les machines virtuelles Azure doivent toujours être configurées dans le système d’exploitation invité pour que vous puissiez utiliser le protocole DHCP afin d’obtenir une adresse IP. Le paramètre IP statique Azure utilise toujours le protocole DHCP pour fournir l’adresse IP à la machine virtuelle.
Ping
test-netconnection
Note
La cmdlet Write-Progress peut ne pas fonctionner avec cette commande. Pour résoudre le problème, vous pouvez exécuter $ProgressPreference = "SilentlyContinue"
dans PowerShell afin de désactiver la barre de progression.
ou
get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime
Test-Netconnection
sans aucun paramètre va tenter d’exécuter une commande ping sur internetbeacon.msedge.net
. Cette commande est disponible sur les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
comme dans le deuxième exemple.
Ping au niveau du port
test-netconnection -ComputerName bing.com -Port 80
ou
(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)
Test-NetConnection
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Net.Sockets.TcpClient
Tester la résolution du nom DNS
resolve-dnsname bing.com
ou
[System.Net.Dns]::GetHostAddresses('bing.com')
Resolve-DnsName
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez System.Net.DNS
.
Afficher la règle de Pare-feu Windows en fonction du nom
get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP
Afficher la règle de Pare-feu Windows en fonction du port
get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action
ou
(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled
Get-NetFirewallPortFilter
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez l’objet COM hnetcfg.fwpolicy2
.
Désactiver le Pare-feu Windows
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Set-NetFirewallProfile
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez netsh advfirewall
comme indiqué dans la section CMD ci-dessus.
Gérer les utilisateurs et les groupes avec PowerShell
Créer un compte d’utilisateur local
new-localuser <name>
Vérifier que le compte d’utilisateur est activé
(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled
ou
(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled
Get-LocalUser
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
. Cet exemple montre le compte administrateur local intégré, qui présente toujours le SID S-1-5-21-*-500
. Pour les machines virtuelles Azure créées à partir de l’image généralisée, le compte d’administrateur local sera renommé avec le nom spécifié lors de l’approvisionnement de la machine virtuelle. Il ne sera donc généralement pas Administrator
.
Ajouter un utilisateur local au groupe local
add-localgroupmember -group Administrators -member <username>
Activer un compte d’utilisateur local
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser
Cet exemple active le compte administrateur local intégré, qui présente toujours le SID S-1-5-21-*-500
. Pour les machines virtuelles Azure créées à partir de l’image généralisée, le compte d’administrateur local sera renommé avec le nom spécifié lors de l’approvisionnement de la machine virtuelle. Il ne sera donc généralement pas Administrator
.
Afficher les propriétés du compte d’utilisateur
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *
ou
get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID
Get-LocalUser
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
. Cet exemple montre le compte administrateur local intégré, qui présente toujours le SID S-1-5-21-*-500
.
Afficher les groupes locaux
(get-localgroup).name | sort
(get-wmiobject win32_group).Name | sort
Get-LocalUser
est disponible dans les versions 2012 et supérieures. Pour 2008R2, utilisez Get-WmiObject
.
Gérer le journal des événements Windows avec PowerShell
Interroger les erreurs du journal des événements
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more
Remplacez /c:10
par le nombre souhaité d’événements à retourner, ou supprimez-le pour retourner tous les événements correspondant au filtre.
Interroger le journal des événements en fonction de l’ID d’événement
get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more
Interroger le journal des événements en fonction de l’ID d’événement et du fournisseur
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
Interroger le journal des événements en fonction de l’ID d’événement et du fournisseur sur les 24 dernières heures
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"
Utilisez 604800000
pour effectuer la recherche sur 7 jours au lieu de 24 heures. |
Interroger le journal des événements en fonction de l’ID d’événement, du fournisseur et d’EventData sur les 7 derniers jours
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
Afficher ou supprimer les applications installées avec PowerShell
Répertorier les logiciels installés
get-wmiobject win32_product | select installdate,name | sort installdate -descending | more
Désinstaller un logiciel
(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()
Gestion du système de fichiers avec PowerShell
Obtenir la version du fichier
(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion
Cet exemple retourne la version du fichier du pilote de carte réseau virtuel, qui se nomme netvsc.sys, netvsc63.sys ou netvsc60.sys selon la version de Windows.
Télécharger et extraire le fichier
$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)
Cet exemple crée un dossier c:\bin
, puis télécharge et extrait la suite d’outils Sysinternals dans c:\bin
.
Exécution de tâches diverses avec PowerShell
Afficher la version du système d’exploitation
get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber
Afficher la date d’installation du système d’exploitation
(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)
Afficher l’heure du dernier démarrage
(get-wmiobject win32_operatingsystem).lastbootuptime
Afficher la durée de fonctionnement dans Windows
"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))
Retourne la durée de fonctionnement sous la forme <days>:<hours>:<minutes>:<seconds>:<milliseconds>
, par exemple 49:16:48:00.00
.
Redémarrer Windows
restart-computer
L’ajout de -force
force la fermeture des applications en cours d’exécution sans avertir l’utilisateur.
Métadonnées d’instance
Vous pouvez interroger les métadonnées d’instance Azure à partir de votre machine virtuelle Azure pour afficher des détails tels qu’osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress et publicIpAddress.
L’interrogation des métadonnées d’instance nécessite une connectivité de réseau invité saine, car elle effectue un appel REST par le biais de l’hôte Azure vers le service de métadonnées d’instance. Par conséquent, si vous êtes en mesure d’interroger les métadonnées d’instance, cela vous indique que l’invité peut communiquer sur le réseau vers un service Azure.
Pour plus d’informations, consultez Service de métadonnées d’instance Azure.
Métadonnées d’instance
$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 de système d’exploitation (métadonnées d’instance)
$im.Compute.osType
Emplacement (métadonnées d’instance)
$im.Compute.Location
Taille (métadonnées d’instance)
$im.Compute.vmSize
ID de la machine virtuelle (métadonnées d’instance)
$im.Compute.vmId
Nom de la machine virtuelle (métadonnées d’instance)
$im.Compute.name
Nom du groupe de ressources (métadonnées d’instance)
$im.Compute.resourceGroupName
ID d’abonnement (métadonnées d’instance)
$im.Compute.subscriptionId
Balises (métadonnées d’instance)
$im.Compute.tags
ID du groupe de placement (métadonnées d’instance)
$im.Compute.placementGroupId
Domaine d’erreur de plateforme (métadonnées d’instance)
$im.Compute.platformFaultDomain
Domaine de mise à jour de plateforme (métadonnées d’instance)
$im.Compute.platformUpdateDomain
Adresse IP privée IPv4 (métadonnées d’instance)
$im.network.interface.ipv4.ipAddress.privateIpAddress
Adresse IP publique IPv4 (métadonnées d’instance)
$im.network.interface.ipv4.ipAddress.publicIpAddress
Adresse de sous-réseau/préfixe IPv4 (métadonnées d’instance)
$im.network.interface.ipv4.subnet.address
$im.network.interface.ipv4.subnet.prefix
Adresse IP IPv6 (métadonnées d’instance)
$im.network.interface.ipv6.ipAddress
Adresse MAC (métadonnées d’instance)
$im.network.interface.macAddress
Prochaines étapes
- La page principale de documentation de la console série Windows se trouve ici.
- La console série est également disponible pour les machines virtuelles Linux.
- En savoir plus sur les diagnostics de démarrage.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.