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 netshprogramu , 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 Administratorto .

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\NetworkServicelub LocalSystemokreśl hasło konta jako ostatni argument (ósmy) po nazwie konta.

Ustawianie typu uruchamiania usługi

set-service termservice -startuptype Manual

Set-serviceAutomaticakceptuje , Manuallub 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 Administratorto .

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 Administratorto .

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:\binprogramu .

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.