Polecenia systemu Windows — CMD i PowerShell
Ta sekcja zawiera przykładowe polecenia do wykonywania typowych zadań w scenariuszach, w których może być konieczne użycie protokołu SAC w celu uzyskania dostępu do maszyny wirtualnej z systemem Windows, na przykład w przypadku rozwiązywania problemów z błędami połączenia RDP.
Sac został uwzględniony we wszystkich wersjach 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 (sacsvr
) i procesie sacsess.exe
. Aby uzyskać więcej informacji, zobacz Narzędzia i ustawienia usług zarządzania awaryjnego.
Funkcja SAC umożliwia nawiązywanie połączenia z uruchomionym systemem operacyjnym za pośrednictwem portu szeregowego. Po uruchomieniu programu CMD z platformy SAC sacsess.exe
uruchamia się cmd.exe
w uruchomionym systemie operacyjnym. Widać to w Menedżerze zadań, jeśli rdp do maszyny wirtualnej w tym samym czasie są połączone z SAC za pośrednictwem funkcji konsoli szeregowej. Klucz cmd, do którego uzyskujesz dostęp za pośrednictwem protokołu 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 cmd. Jest to główna różnica między SAC i Windows Recovery Environment (WinRE) w tym SAC pozwala zarządzać systemem operacyjnym, gdzie WinRE uruchamia się w innym, minimalnym systemie operacyjnym. Maszyny wirtualne platformy Azure nie obsługują możliwości uzyskiwania dostępu do usługi WinRE, ale dzięki funkcji konsoli szeregowej maszyny wirtualne platformy Azure mogą być zarządzane za pośrednictwem protokołu SAC.
Ponieważ sac jest ograniczona do buforu ekranu 80x24 bez przewijania wstecz, dodaj | more
do poleceń, aby wyświetlić dane wyjściowe po jednej stronie naraz. Użyj polecenia <spacebar>
, aby wyświetlić następną stronę lub <enter>
zobaczyć 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 funkcji CMD
Sprawdź, czy protokół RDP jest włączony
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 istniał tylko wtedy, gdy odpowiednie ustawienie zasad grupy zostanie skonfigurowane.
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) byłby potrzebny tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy. Wartość zostanie ponownie zapisana podczas następnego odświeżania zasad grupy, jeśli jest skonfigurowana w zasadach grupy.
Zarządzanie usługami systemu Windows przy użyciu funkcji 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"
Miejsce jest wymagane po znaku równości.
Ustawianie typu rozpoczęcia usługi
sc config termservice start= demand
Miejsce jest wymagane po znaku równości. Możliwe wartości początkowe obejmują boot
, system
, auto
, demand
, disabled
, . delayed-auto
Ustawianie zależności usługi
sc config termservice depend= RPCSS
Miejsce jest wymagane po znaku równości.
Uruchamianie usługi
net start termservice
lub
sc start termservice
Zatrzymaj usługę
net stop termservice
lub
sc stop termservice
Zarządzanie funkcjami sieci przy użyciu funkcji 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 korzystania z 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 powinny być zawsze konfigurowane w systemie operacyjnym gościa w celu uzyskania adresu IP przy użyciu protokołu DHCP. Ustawienie statycznego adresu IP platformy Azure nadal używa protokołu DHCP do przekazywania statycznego adresu IP maszynie wirtualnej.
Ping
ping 8.8.8.8
Polecenie ping portów
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
W przypadku ograniczenia do metod dostępnych domyślnie w systemie Windows program PowerShell może być lepszym podejściem do testowania łączności portów. Zobacz sekcję programu PowerShell poniżej, 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
Tego polecenia można użyć podczas rozwiązywania problemów, aby tymczasowo wykluczyć zaporę systemu Windows. Zostanie ono włączone przy następnym ponownym uruchomieniu lub po włączeniu go przy użyciu poniższego polecenia. Nie należy zatrzymywać usługi Zapory systemu Windows (MPSSVC) ani 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 usługi 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 zmienią nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Więc zwykle nie będzie Administrator
to .
Włączanie konta użytkownika
net user <username> /active:yes
Wyświetlanie właściwości konta użytkownika
net user <username>
Przykładowe wiersze 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 funkcji CMD
Błędy dziennika zdarzeń zapytania
wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more
Zmień /c:10
na żądaną liczbę zdarzeń, które mają zostać zwrócone, lub przenieś je, aby zwrócić wszystkie zdarzenia pasujące do filtru.
Dziennik zdarzeń zapytania według identyfikatora zdarzenia
wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more
Dziennik zdarzeń zapytania 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
Dziennik zdarzeń zapytania według identyfikatora zdarzenia i dostawcy z 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.
Dziennik zdarzeń zapytania według identyfikatora zdarzenia, dostawcy i danych zdarzenia 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 funkcji CMD
Wyświetlanie listy zainstalowanych aplikacji
wmic product get Name,InstallDate | sort /r | more
Sortuje sort /r
malejąco według daty instalacji, aby ułatwić sprawdzenie, co zostało niedawno 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 funkcji 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 plików systemowych
sfc /scannow
Zobacz również Naprawianie obrazu systemu Windows.
Skanowanie pod kątem uszkodzenia plików systemowych
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 plików w pliku listy ACL
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t
Przywracanie uprawnień do pliku z pliku listy ACL
icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t
Ścieżka 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 folderu \MachineKeys
określonego w powyższym przykładzie /save
.
Przejmowanie ntfs własności folderu
takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r
Rekursywnie przyznaj uprawnienia ntfs do folderu
icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"
Zarządzanie urządzeniami
Usuwanie nieistniejących urządzeń PNP
%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
Zarządzanie zasady grupy
Wymuszanie aktualizacji zasad grupy
gpupdate /force /wait:-1
Różne zadania korzystające z funkcji 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
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 środowisku SAC, po dotarciu do wiersza polecenia 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 program PSReadLine jest uruchomiony w sesji programu PowerShell w środowisku SAC.
Najpierw sprawdź, czy jest ładowana funkcja PSReadLine. Jest on ładowany domyślnie w Windows Server 2016, Windows 10 i nowszych wersjach systemu Windows. Będzie ona 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ć normalne korzystanie z sesji programu PowerShell w środowisku SAC.
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, tylko zwalnia go z bieżącej sesji programu PowerShell.
remove-module psreadline
Wyświetlanie i edytowanie ustawień rejestru systemu Windows przy użyciu programu PowerShell
Sprawdź, czy protokół RDP jest włączony
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 istniał tylko wtedy, gdy odpowiednie ustawienie zasad grupy zostanie skonfigurowane.
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) byłby potrzebny tylko wtedy, gdy skonfigurowano odpowiednie ustawienie zasad grupy. Wartość zostanie ponownie zapisana podczas następnego odświeżania zasad grupy, jeśli jest 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że być używany, ale nie obejmuje 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 argument (ósmy) 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')
Uruchamianie usługi
start-service termservice
Zatrzymaj usługę
stop-service termservice
Zarządzanie funkcjami sieci 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ępna w wersji 2012 lub nowszej, dla 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ępna w wersji 2012 lub nowszej, dla 2008R2 użyj polecenia Get-WmiObject
.
Ustawianie karty sieciowej do korzystania z 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ępna w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. Maszyny wirtualne platformy Azure powinny być zawsze konfigurowane w systemie operacyjnym gościa w celu uzyskania adresu IP przy użyciu protokołu DHCP. Ustawienie statycznego adresu IP platformy Azure nadal używa protokołu DHCP do przekazywania adresu IP maszynie wirtualnej.
Ping
test-netconnection
Uwaga
Polecenie cmdlet Write-Progress może nie działać z tym poleceniem. W celu ograniczenia ryzyka można uruchomić program $ProgressPreference = "SilentlyContinue"
PowerShell, aby wyłączyć pasek postępu.
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 ona dostępna w wersji 2012+. W przypadku wersji 2008R2 użyj elementu Get-WmiObject
jak w drugim przykładzie.
Polecenie ping portów
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ępna w wersji 2012+. Do użytku w wersji 2008R2 Net.Sockets.TcpClient
Testowanie rozpoznawania nazw DNS
resolve-dnsname bing.com
lub
[System.Net.Dns]::GetHostAddresses('bing.com')
Resolve-DnsName
jest dostępna 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ępna w wersji 2012+. W przypadku wersji 2008R2 użyj obiektu hnetcfg.fwpolicy2
COM.
Wyłączanie zapory systemu Windows
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Set-NetFirewallProfile
jest dostępna w wersji 2012+. W przypadku wersji 2008R2 użyj metody netsh advfirewall
, jak wspomniano 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ępna w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. W tym przykładzie przedstawiono 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 zmienią nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Więc zwykle nie będzie Administrator
to .
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
Ten przykład umożliwia 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 zmienią nazwę konta administratora lokalnego na nazwę określoną podczas aprowizacji maszyny wirtualnej. Więc zwykle nie będzie Administrator
to .
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ępna w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
. W tym przykładzie przedstawiono 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ępna w wersji 2012+. W przypadku wersji 2008R2 użyj polecenia Get-WmiObject
.
Zarządzanie dziennikiem zdarzeń systemu Windows przy użyciu programu PowerShell
Błędy dziennika zdarzeń zapytania
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more
Zmień /c:10
na żądaną liczbę zdarzeń, które mają zostać zwrócone, lub przenieś je, aby zwrócić wszystkie zdarzenia pasujące do filtru.
Dziennik zdarzeń zapytania według identyfikatora zdarzenia
get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more
Dziennik zdarzeń zapytania 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
Dziennik zdarzeń zapytania według identyfikatora zdarzenia i dostawcy z 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. |
Dziennik zdarzeń zapytania według identyfikatora zdarzenia, dostawcy i danych zdarzenia 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świetl listę zainstalowanego 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)
Ten przykład tworzy c:\bin
folder, a następnie pobiera i wyodrębnia zestaw narzędzi Sysinternals do c:\bin
programu .
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 pracy 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
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óły, takie jak osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress i publicIpAddress.
Wykonywanie zapytań dotyczących metadanych wystąpienia wymaga dobrej łączności sieci gościa, 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 Azure Instance Metadata Service (Usługa metadanych wystąpienia platformy Azure).
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/prefiks podsieci IPv4 (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 na temat diagnostyki 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 platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla