Polecenia systemu Windows — CMD i PowerShell
Dotyczy: ✔️ maszyny wirtualne z systemem Windows
Ta sekcja zawiera przykładowe polecenia do wykonywania typowych zadań w scenariuszach, w których może być konieczne użycie sac w celu uzyskania dostępu do maszyny wirtualnej z systemem Windows, na przykład w przypadku konieczności rozwiązywania problemów z błędami połączenia RDP.
SAC został dołączony do wszystkich wersji systemu Windows od systemu Windows Server 2003, ale jest domyślnie wyłączony. SAC opiera się na sterowniku sacdrv.sys
jądra, Special Administration Console Helper
usłudze sacsess.exe
(sacsvr
) i procesie. Aby uzyskać więcej informacji, zobacz Narzędzia i ustawienia usług zarządzania awaryjnego.
SAC umożliwia nawiązanie połączenia z uruchomionym systemem operacyjnym za pośrednictwem portu szeregowego. Po uruchomieniu narzędzia CMD z pakietu SAC sacsess.exe
uruchamia cmd.exe
się w ramach uruchomionego systemu operacyjnego. W Menedżerze zadań można to zobaczyć, jeśli połączenie RDP z maszyną wirtualną jest w tym samym czasie połączone z sac za pośrednictwem funkcji konsoli szeregowej. CmD, do którego uzyskujesz dostęp za pośrednictwem sac, jest taki sam cmd.exe
, jak w przypadku połączenia za pośrednictwem protokołu RDP. Dostępne są wszystkie te same polecenia i narzędzia, w tym możliwość uruchamiania programu PowerShell z tego wystąpienia usługi CMD. Jest to główna różnica między sac i Windows Recovery Environment (WinRE) w tym SAC pozwala zarządzać uruchomionym systemem operacyjnym, gdzie WinRE uruchamia się w innym, minimalnym systemie operacyjnym. Chociaż maszyny wirtualne platformy Azure nie obsługują możliwości uzyskiwania dostępu do usługi WinRE, dzięki funkcji konsoli szeregowej maszyny wirtualne platformy Azure mogą być zarządzane za pośrednictwem sac.
Ponieważ SAC jest ograniczony do buforu ekranu 80x24 bez przewijania wstecz, dodaj | more
do poleceń, aby wyświetlić dane wyjściowe jednej strony naraz. Użyj <spacebar>
polecenia , aby wyświetlić następną stronę lub <enter>
wyświetlić następny wiersz.
SHIFT+INSERT
to skrót do wklejania okna konsoli szeregowej.
Ze względu na ograniczony bufor ekranu SAC, dłuższe polecenia mogą być łatwiejsze do wpisania w lokalnym edytorze tekstów, a następnie wklejone do SAC.
Wyświetlanie i edytowanie ustawień rejestru systemu Windows przy użyciu narzędzia CMD
Sprawdź, czy włączono port RDP
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections
Drugi klucz (w obszarze \Policies) będzie istnieć tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy.
Włączanie protokołu 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
Drugi klucz (w obszarze \Policies) będzie potrzebny tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy. Wartość zostanie przepisana podczas następnego odświeżania zasad grupy, jeśli została skonfigurowana w zasadach grupy.
Zarządzanie usługami systemu Windows przy użyciu narzędzia CMD
Wyświetlanie stanu usługi
sc query termservice
Wyświetlanie konta logowania do usługi
sc qc termservice
Ustawianie konta logowania do usługi
sc config termservice obj= "NT Authority\NetworkService"
Spacja jest wymagana po znaku równości.
Ustawianie typu uruchomienia usługi
sc config termservice start= demand
Spacja jest wymagana po znaku równości. Możliwe wartości początkowe obejmują boot
, , system
, demand
auto
, disabled
, delayed-auto
.
Ustawianie zależności usługi
sc config termservice depend= RPCSS
Spacja jest wymagana po znaku równości.
Uruchom usługę
net start termservice
lub
sc start termservice
Zatrzymaj usługę
net stop termservice
lub
sc stop termservice
Zarządzanie funkcjami sieciowymi przy użyciu narzędzia CMD
Pokaż właściwości karty sieciowej
netsh interface show interface
Pokaż właściwości adresu IP
netsh interface ip show config
Pokaż konfigurację protokołu IPSec
netsh nap client show configuration
Włączanie karty sieciowej
netsh interface set interface name="<interface name>" admin=enabled
Ustawianie karty sieciowej do używania protokołu DHCP
netsh interface ip set address name="<interface name>" source=dhcp
Aby uzyskać więcej informacji na temat netsh
programu , kliknij tutaj.
Maszyny wirtualne platformy Azure należy zawsze konfigurować w systemie operacyjnym gościa, aby używać protokołu DHCP do uzyskiwania adresu IP. Ustawienie statycznego adresu IP platformy Azure nadal używa protokołu DHCP, aby nadać maszynie wirtualnej statyczny adres IP.
Polecenie ping
ping 8.8.8.8
Polecenie ping portu
Instalowanie klienta telnet
dism /online /Enable-Feature /FeatureName:TelnetClient
Testowanie łączności
telnet bing.com 80
Aby usunąć klienta telnet
dism /online /Disable-Feature /FeatureName:TelnetClient
Jeśli domyślnie są ograniczone do metod dostępnych w systemie Windows, program PowerShell może być lepszym rozwiązaniem do testowania łączności portów. Zapoznaj się z poniższą sekcją programu PowerShell, aby zapoznać się z przykładami.
Testowanie rozpoznawania nazw DNS
nslookup bing.com
Pokaż regułę Zapory systemu Windows
netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"
Wyłączanie Zapory systemu Windows
netsh advfirewall set allprofiles state off
To polecenie można użyć podczas rozwiązywania problemów, aby tymczasowo wykluczyć Zaporę systemu Windows. Zostanie on włączony przy następnym ponownym uruchomieniu lub po włączeniu go za pomocą poniższego polecenia. Nie należy zatrzymywać usługi Zapory systemu Windows (MPSSVC) ani usługi podstawowego aparatu filtrowania (BFE) jako sposobu wykluczania Zapory systemu Windows. Zatrzymanie programu MPSSVC lub BFE spowoduje zablokowanie całej łączności.
Włączanie Zapory systemu Windows
netsh advfirewall set allprofiles state on
Zarządzanie użytkownikami i grupami przy użyciu narzędzia CMD
Tworzenie konta użytkownika lokalnego
net user /add <username> <password>
Dodawanie użytkownika lokalnego do grupy lokalnej
net localgroup Administrators <username> /add
Sprawdzanie, czy konto użytkownika jest włączone
net user <username> | find /i "active"
Maszyny wirtualne platformy Azure utworzone na podstawie uogólnionego obrazu będą miały nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Tak więc zwykle nie będzie Administrator
.
Włączanie konta użytkownika
net user <username> /active:yes
Wyświetlanie właściwości konta użytkownika
net user <username>
Przykładowe linie zainteresowania z konta administratora lokalnego:
Account active Yes
Account expires Never
Password expires Never
Workstations allowed All
Logon hours allowed All
Local Group Memberships *Administrators
Wyświetlanie grup lokalnych
net localgroup
Zarządzanie dziennikiem zdarzeń systemu Windows przy użyciu narzędzia CMD
Wykonywanie zapytań o błędy dziennika zdarzeń
wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more
Zmień /c:10
żądaną liczbę zdarzeń na zwracaną lub przenieś ją, aby zwrócić wszystkie zdarzenia pasujące do filtru.
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia
wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia i dostawcy
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia i dostawcy w ciągu ostatnich 24 godzin
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]]]"
Użyj polecenia 604800000
, aby spojrzeć wstecz 7 dni zamiast 24 godzin.
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia, dostawcy i zdarzeniaData w ciągu ostatnich 7 dni
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
Wyświetlanie lub usuwanie zainstalowanych aplikacji przy użyciu narzędzia CMD
Wyświetlanie listy zainstalowanych aplikacji
wmic product get Name,InstallDate | sort /r | more
Sortowanie sort /r
malejące według daty instalacji w celu ułatwienia sprawdzenia, co zostało ostatnio zainstalowane. Użyj polecenia <spacebar>
, aby przejść do następnej strony danych wyjściowych lub <enter>
przejść do jednego wiersza.
Odinstalowywanie aplikacji
wmic path win32_product where name="<name>" call uninstall
Zastąp <name>
ciąg nazwą zwróconą w powyższym poleceniu dla aplikacji, którą chcesz usunąć.
Zarządzanie systemem plików przy użyciu narzędzia CMD
Pobieranie wersji pliku
wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list
Ten przykład zwraca wersję pliku wirtualnego sterownika karty sieciowej, który jest netvsc.sys, netvsc63.sys lub netvsc60.sys w zależności od wersji systemu Windows.
Skanowanie pod kątem uszkodzenia pliku systemowego
sfc /scannow
Zobacz również Naprawianie obrazu systemu Windows.
Skanowanie pod kątem uszkodzenia pliku systemowego
dism /online /cleanup-image /scanhealth
Zobacz również Naprawianie obrazu systemu Windows.
Eksportowanie uprawnień do pliku tekstowego
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt
Zapisywanie uprawnień do pliku listy ACL
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t
Przywracanie uprawnień do plików z pliku listy ACL
icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t
Ścieżka, gdy jest używana /restore
, musi być folderem nadrzędnym folderu określonego podczas korzystania z programu /save
. W tym przykładzie \RSA
jest elementem nadrzędnym \MachineKeys
folderu określonego w powyższym przykładzie /save
.
Przejmowanie własności systemu plików NTFS folderu
takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r
Udzielanie uprawnień NTFS do folderu rekursywnie
icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"
Zarządzanie urządzeniami
Usuwanie nie obecnych urządzeń PNP
%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
Zarządzanie zasadami grupy
Wymuszanie aktualizacji zasad grupy
gpupdate /force /wait:-1
Różne zadania korzystające z narzędzia CMD
Pokaż wersję systemu operacyjnego
ver
lub
wmic os get caption,version,buildnumber /format:list
lub
systeminfo find /i "os name"
systeminfo | findstr /i /r "os.*version.*build"
Wyświetlanie daty instalacji systemu operacyjnego
systeminfo | find /i "original"
lub
wmic os get installdate
Wyświetl czas ostatniego rozruchu
systeminfo | find /i "system boot time"
Wyświetlanie strefy czasowej
systeminfo | find /i "time zone"
lub
wmic timezone get caption,standardname /format:list
Uruchom ponownie system Windows
shutdown /r /t 0
Dodanie /f
spowoduje wymusi zamknięcie uruchomionych aplikacji bez ostrzeżenia użytkowników.
Wykrywanie rozruchu w trybie awaryjnym
bcdedit /enum | find /i "safeboot"
Polecenia systemu Windows — PowerShell
Aby uruchomić program PowerShell w sac, po wyświetleniu monitu CMD wpisz:
powershell <enter>
Uwaga
Przed uruchomieniem innych poleceń programu PowerShell usuń moduł PSReadLine z sesji programu PowerShell. Istnieje znany problem polegający na tym, że dodatkowe znaki mogą być wprowadzane w tekście wklejonym ze schowka, jeśli funkcja PSReadLine jest uruchomiona w sesji programu PowerShell w sac.
Najpierw sprawdź, czy element PSReadLine został załadowany. Jest on domyślnie ładowany w systemach Windows Server 2016, Windows 10 i nowszych wersjach systemu Windows. Byłaby obecna tylko we wcześniejszych wersjach systemu Windows, gdyby została zainstalowana ręcznie.
Jeśli to polecenie powróci do wiersza polecenia bez danych wyjściowych, moduł nie został załadowany i możesz kontynuować korzystanie z sesji programu PowerShell w sac w normalny sposób.
get-module psreadline
Jeśli powyższe polecenie zwraca wersję modułu PSReadLine, uruchom następujące polecenie, aby go zwolnić. To polecenie nie usuwa ani nie odinstalowuje modułu. Zwalnia go tylko z bieżącej sesji programu PowerShell.
remove-module psreadline
Wyświetlanie i edytowanie ustawień rejestru systemu Windows przy użyciu programu PowerShell
Sprawdź, czy włączono port RDP
get-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections'
get-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections'
Drugi klucz (w obszarze \Policies) będzie istnieć tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy.
Włączanie protokołu 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
Drugi klucz (w obszarze \Policies) będzie potrzebny tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy. Wartość zostanie przepisana podczas następnego odświeżania zasad grupy, jeśli została skonfigurowana w zasadach grupy.
Zarządzanie usługami systemu Windows przy użyciu programu PowerShell
Wyświetlanie szczegółów usługi
get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId
Get-Service
można użyć, ale nie zawiera konta logowania do usługi. Get-WmiObject win32-service
Czy.
Ustawianie konta logowania do usługi
(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')
W przypadku korzystania z konta usługi innego niż NT AUTHORITY\LocalService
, NT AUTHORITY\NetworkService
lub LocalSystem
określ hasło konta jako ostatni (ósmy) argument po nazwie konta.
Ustawianie typu uruchamiania usługi
set-service termservice -startuptype Manual
Set-service
Automatic
akceptuje , Manual
lub Disabled
dla typu uruchamiania.
Ustawianie zależności usługi
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')
Uruchom usługę
start-service termservice
Zatrzymaj usługę
stop-service termservice
Zarządzanie funkcjami sieciowymi przy użyciu programu PowerShell
Pokaż właściwości karty sieciowej
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState
lub
get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress
Get-NetAdapter
jest dostępny w wersji 2012+, dla wersji 2008R2 użyj polecenia Get-WmiObject
.
Pokaż właściwości adresu IP
get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder
Włączanie karty sieciowej
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter
lub
(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()
Get-NetAdapter
jest dostępny w wersji 2012+, dla wersji 2008R2 użyj polecenia Get-WmiObject
.
Ustawianie karty sieciowej do używania protokołu 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
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. Maszyny wirtualne platformy Azure należy zawsze konfigurować w systemie operacyjnym gościa, aby używać protokołu DHCP do uzyskiwania adresu IP. Ustawienie statycznego adresu IP platformy Azure nadal używa protokołu DHCP do nadania adresowi IP maszynie wirtualnej.
Polecenie ping
test-netconnection
Uwaga 16.
Polecenie cmdlet Write-Progress może nie działać z tym poleceniem. Aby wyłączyć pasek postępu, możesz uruchomić $ProgressPreference = "SilentlyContinue"
polecenie w programie PowerShell.
lub
get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime
Test-Netconnection
bez żadnych parametrów spróbuje wysłać polecenie ping internetbeacon.msedge.net
. Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj funkcji Get-WmiObject
w drugim przykładzie.
Polecenie ping portu
test-netconnection -ComputerName bing.com -Port 80
lub
(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)
Test-NetConnection
Jest dostępny w wersji 2012+. W przypadku użycia 2008R2 Net.Sockets.TcpClient
Testowanie rozpoznawania nazw DNS
resolve-dnsname bing.com
lub
[System.Net.Dns]::GetHostAddresses('bing.com')
Resolve-DnsName
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia System.Net.DNS
.
Pokaż regułę zapory systemu Windows według nazwy
get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP
Pokaż regułę zapory systemu Windows według portu
get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action
lub
(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled
Get-NetFirewallPortFilter
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj hnetcfg.fwpolicy2
obiektu COM.
Wyłączanie zapory systemu Windows
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Set-NetFirewallProfile
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 należy użyć jako netsh advfirewall
odwołania w powyższej sekcji CMD.
Zarządzanie użytkownikami i grupami przy użyciu programu PowerShell
Tworzenie konta użytkownika lokalnego
new-localuser <name>
Sprawdzanie, czy konto użytkownika jest włączone
(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled
lub
(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled
Get-LocalUser
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. W tym przykładzie pokazano wbudowane konto administratora lokalnego, które zawsze ma identyfikator SID S-1-5-21-*-500
. Maszyny wirtualne platformy Azure utworzone na podstawie uogólnionego obrazu będą miały nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Tak więc zwykle nie będzie Administrator
.
Dodawanie użytkownika lokalnego do grupy lokalnej
add-localgroupmember -group Administrators -member <username>
Włączanie konta użytkownika lokalnego
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser
W tym przykładzie jest włączone wbudowane konto administratora lokalnego, które zawsze ma identyfikator SID S-1-5-21-*-500
. Maszyny wirtualne platformy Azure utworzone na podstawie uogólnionego obrazu będą miały nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Tak więc zwykle nie będzie Administrator
.
Wyświetlanie właściwości konta użytkownika
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *
lub
get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID
Get-LocalUser
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. W tym przykładzie pokazano wbudowane konto administratora lokalnego, które zawsze ma identyfikator SID S-1-5-21-*-500
.
Wyświetlanie grup lokalnych
(get-localgroup).name | sort
(get-wmiobject win32_group).Name | sort
Get-LocalUser
Jest dostępny w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
.
Zarządzanie dziennikiem zdarzeń systemu Windows przy użyciu programu PowerShell
Wykonywanie zapytań o błędy dziennika zdarzeń
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more
Zmień /c:10
żądaną liczbę zdarzeń na zwracaną lub przenieś ją, aby zwrócić wszystkie zdarzenia pasujące do filtru.
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia
get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia i dostawcy
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia i dostawcy w ciągu ostatnich 24 godzin
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"
Użyj polecenia 604800000
, aby spojrzeć wstecz 7 dni zamiast 24 godzin. |
Wykonywanie zapytań dotyczących dziennika zdarzeń według identyfikatora zdarzenia, dostawcy i zdarzeniaData w ciągu ostatnich 7 dni
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
Wyświetlanie lub usuwanie zainstalowanych aplikacji przy użyciu programu PowerShell
Wyświetlanie listy zainstalowanych oprogramowania
get-wmiobject win32_product | select installdate,name | sort installdate -descending | more
Odinstalowywanie oprogramowania
(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()
Zarządzanie systemem plików przy użyciu programu PowerShell
Pobieranie wersji pliku
(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion
Ten przykład zwraca wersję pliku wirtualnego sterownika karty sieciowej o nazwie netvsc.sys, netvsc63.sys lub netvsc60.sys w zależności od wersji systemu Windows.
Pobieranie i wyodrębnianie pliku
$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)
W tym przykładzie tworzony jest c:\bin
folder, a następnie pobiera i wyodrębnia pakiet narzędzi Sysinternals do programu c:\bin
.
Różne zadania przy użyciu programu PowerShell
Pokaż wersję systemu operacyjnego
get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber
Wyświetlanie daty instalacji systemu operacyjnego
(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)
Wyświetl czas ostatniego rozruchu
(get-wmiobject win32_operatingsystem).lastbootuptime
Wyświetlanie czasu działania systemu Windows
"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))
Zwraca czas pracy jako <days>:<hours>:<minutes>:<seconds>:<milliseconds>
, na przykład 49:16:48:00.00
.
Uruchom ponownie system Windows
restart-computer
Dodanie -force
spowoduje wymusi zamknięcie uruchomionych aplikacji bez ostrzeżenia użytkowników.
Metadane wystąpienia
Możesz wysyłać zapytania dotyczące metadanych wystąpienia platformy Azure z poziomu maszyny wirtualnej platformy Azure, aby wyświetlić szczegółowe informacje, takie jak osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress i publicIpAddress.
Wykonywanie zapytań dotyczących metadanych wystąpienia wymaga łączności sieciowej gościa w dobrej kondycji, ponieważ wykonuje wywołanie REST za pośrednictwem hosta platformy Azure do usługi metadanych wystąpienia. Jeśli więc możesz wykonywać zapytania dotyczące metadanych wystąpienia, oznacza to, że gość może komunikować się za pośrednictwem sieci z usługą hostowaną na platformie Azure.
Aby uzyskać więcej informacji, zobacz Usługa Azure Instance Metadata Service.
Metadane wystąpienia
$im = invoke-restmethod -headers @{"metadata"="true"} -uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -method get
$im | convertto-json
Typ systemu operacyjnego (metadane wystąpienia)
$im.Compute.osType
Lokalizacja (metadane wystąpienia)
$im.Compute.Location
Rozmiar (metadane wystąpienia)
$im.Compute.vmSize
Identyfikator maszyny wirtualnej (metadane wystąpienia)
$im.Compute.vmId
Nazwa maszyny wirtualnej (metadane wystąpienia)
$im.Compute.name
Nazwa grupy zasobów (metadane wystąpienia)
$im.Compute.resourceGroupName
Identyfikator subskrypcji (metadane wystąpienia)
$im.Compute.subscriptionId
Tagi (metadane wystąpienia)
$im.Compute.tags
Identyfikator grupy umieszczania (metadane wystąpienia)
$im.Compute.placementGroupId
Domena błędów platformy (metadane wystąpienia)
$im.Compute.platformFaultDomain
Domena aktualizacji platformy (metadane wystąpienia)
$im.Compute.platformUpdateDomain
Prywatny adres IP IPv4 (metadane wystąpienia)
$im.network.interface.ipv4.ipAddress.privateIpAddress
Publiczny adres IP IPv4 (metadane wystąpienia)
$im.network.interface.ipv4.ipAddress.publicIpAddress
Adres podsieci IPv4 /prefiks (metadane wystąpienia)
$im.network.interface.ipv4.subnet.address
$im.network.interface.ipv4.subnet.prefix
Adres IP IPv6 (metadane wystąpienia)
$im.network.interface.ipv6.ipAddress
Adres MAC (metadane wystąpienia)
$im.network.interface.macAddress
Następne kroki
- Główna strona dokumentacji konsoli szeregowej systemu Windows znajduje się tutaj.
- Konsola szeregowa jest również dostępna dla maszyn wirtualnych z systemem Linux .
- Dowiedz się więcej o diagnostyce rozruchu.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.