Udostępnij za pośrednictwem


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, demandauto, 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 netshprogramu , 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\NetworkServicelub LocalSystemokreśl hasło konta jako ostatni (ósmy) argument 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')

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

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.