Windows 명령 - CMD 및 PowerShell
적용 대상: ✔️ Windows VM
이 섹션에는 RDP 연결 실패 문제를 해결해야 하는 경우와 같이 SAC를 사용하여 Windows VM에 액세스해야 하는 시나리오에서 일반적인 작업을 수행하기 위한 예제 명령이 포함되어 있습니다.
SAC는 Windows Server 2003만 기본적으로 사용할 수 없게 된 이래 모든 버전의 Windows에 포함되었습니다. SAC는 커널 드라이버, Special Administration Console Helper
서비스(sacsvr
) 및 sacsess.exe
프로세스를 사용합니다sacdrv.sys
. 자세한 내용은 응급 관리 서비스 도구 및 설정을 참조 하세요.
SAC를 사용하면 직렬 포트를 통해 실행 중인 OS에 연결할 수 있습니다. SAC sacsess.exe
에서 CMD를 시작하면 실행 중인 OS 내에서 시작됩니다 cmd.exe
. 직렬 콘솔 기능을 통해 SAC에 연결된 동시에 VM에 RDP하는 경우 작업 관리자에서 확인할 수 있습니다. SAC를 통해 액세스하는 CMD는 RDP를 통해 연결할 때 사용하는 것과 동일합니다 cmd.exe
. 해당 CMD 인스턴스에서 PowerShell을 시작하는 기능을 포함하여 모두 동일한 명령 및 도구를 사용할 수 있습니다. 이는 SAC에서 SAC와 WinRE(Windows Recovery Environment)의 주요 차이점으로, WinRE가 다른 최소 OS로 부팅되는 실행 중인 OS를 관리할 수 있게 해줍니다. Azure VM은 WinRE에 액세스하는 기능을 지원하지 않지만 직렬 콘솔 기능을 사용하여 SAC를 통해 Azure VM을 관리할 수 있습니다.
SAC는 뒤로 스크롤하지 않고 80x24 화면 버퍼로 제한되므로 명령에 추가하여 | more
출력을 한 번에 한 페이지씩 표시합니다. 다음 페이지를 <enter>
보거나 다음 줄을 보려면 사용합니다<spacebar>
.
SHIFT+INSERT
는 직렬 콘솔 창의 붙여넣기 바로 가기입니다.
SAC의 제한된 화면 버퍼로 인해 더 긴 명령은 로컬 텍스트 편집기에 입력한 다음 SAC에 붙여넣기 쉽습니다.
CMD를 사용하여 Windows 레지스트리 설정 보기 및 편집
RDP를 사용하도록 설정했는지 확인합니다.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections
두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 존재합니다.
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
두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 필요합니다. 그룹 정책에서 구성된 경우 다음 그룹 정책 새로 고침 시 값이 다시 작성됩니다.
CMD를 사용하여 Windows 서비스 관리
서비스 상태 보기
sc query termservice
서비스 로그온 계정 보기
sc qc termservice
서비스 로그온 계정 설정
sc config termservice obj= "NT Authority\NetworkService"
등호 다음에 공백이 필요합니다.
서비스 시작 유형 설정
sc config termservice start= demand
등호 다음에 공백이 필요합니다. 가능한 시작 값에는 ,, auto
system
, demand
disabled
, delayed-auto
등이 있습니다boot
.
서비스 종속성 설정
sc config termservice depend= RPCSS
등호 다음에 공백이 필요합니다.
서비스 시작
net start termservice
또는
sc start termservice
서비스 중지
net stop termservice
또는
sc stop termservice
CMD를 사용하여 네트워킹 기능 관리
NIC 속성 표시
netsh interface show interface
IP 속성 표시
netsh interface ip show config
IPSec 구성 표시
netsh nap client show configuration
NIC 사용
netsh interface set interface name="<interface name>" admin=enabled
DHCP를 사용하도록 NIC 설정
netsh interface ip set address name="<interface name>" source=dhcp
자세한 netsh
내용은 여기를 클릭하세요.
Azure VM은 IP 주소를 얻는 데 DHCP를 사용하려면 항상 게스트 운영 체제에서 구성돼야 합니다. Azure 고정 IP 설정은 여전히 DHCP를 사용하여 VM에 고정 IP를 제공합니다.
Ping
ping 8.8.8.8
포트 ping
텔넷 클라이언트 설치
dism /online /Enable-Feature /FeatureName:TelnetClient
연결 테스트
telnet bing.com 80
텔넷 클라이언트를 제거하려면
dism /online /Disable-Feature /FeatureName:TelnetClient
기본적으로 Windows에서 사용할 수 있는 방법으로 제한된 경우 PowerShell은 포트 연결을 테스트하기 위한 더 좋은 방법이 될 수 있습니다. 예제는 아래 PowerShell 섹션을 참조하세요.
DNS 이름 확인 테스트
nslookup bing.com
Windows 방화벽 규칙 표시
netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"
Windows 방화벽 사용 안 함
netsh advfirewall set allprofiles state off
문제 해결 시 이 명령을 사용하여 Windows 방화벽을 일시적으로 배제할 수 있습니다. 다음 다시 시작 시 또는 아래 명령을 사용하여 사용하도록 설정할 때 사용하도록 설정됩니다. Windows 방화벽을 배제하는 방법으로 WINDOWS 방화벽 서비스(MPSSVC) 또는 BFE(기본 필터링 엔진) 서비스를 중지하지 마세요. MPSSVC 또는 BFE를 중지하면 모든 연결이 차단됩니다.
Windows 방화벽 설정
netsh advfirewall set allprofiles state on
CMD를 사용하여 사용자 및 그룹 관리
로컬 사용자 계정 만들기
net user /add <username> <password>
로컬 그룹에 로컬 사용자 추가
net localgroup Administrators <username> /add
사용자 계정이 사용하도록 설정되어 있는지 확인
net user <username> | find /i "active"
일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator
않습니다 .
사용자 계정 사용
net user <username> /active:yes
사용자 계정 속성 보기
net user <username>
로컬 관리자 계정의 관심 줄 예:
Account active Yes
Account expires Never
Password expires Never
Workstations allowed All
Logon hours allowed All
Local Group Memberships *Administrators
로컬 그룹 보기
net localgroup
CMD를 사용하여 Windows 이벤트 로그 관리
이벤트 로그 오류 쿼리
wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more
반환할 원하는 이벤트 수로 변경 /c:10
하거나 필터와 일치하는 모든 이벤트를 반환하도록 이동합니다.
이벤트 ID별 이벤트 로그 쿼리
wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more
이벤트 ID 및 공급자별 이벤트 로그 쿼리
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
지난 24시간 동안 이벤트 ID 및 공급자별 이벤트 로그 쿼리
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]]]"
24시간 대신 7일을 되돌아보는 데 사용합니다 604800000
.
지난 7일 동안의 이벤트 ID, 공급자 및 EventData별 이벤트 로그 쿼리
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
CMD를 사용하여 설치된 애플리케이션 보기 또는 제거
설치된 애플리케이션 나열
wmic product get Name,InstallDate | sort /r | more
sort /r
최근에 설치된 항목을 쉽게 확인할 수 있도록 설치 날짜별로 내림차순으로 정렬합니다. 출력의 다음 페이지로 이동하거나 <enter>
한 줄로 진행하는 데 사용합니다<spacebar>
.
애플리케이션 제거
wmic path win32_product where name="<name>" call uninstall
제거하려는 애플리케이션에 대해 위의 명령에서 반환된 이름으로 바꿉 <name>
습니다.
CMD를 사용하는 파일 시스템 관리
파일 버전 가져오기
wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list
이 예제에서는 Windows 버전에 따라 netvsc.sys, netvsc63.sys 또는 netvsc60.sys 가상 NIC 드라이버의 파일 버전을 반환합니다.
시스템 파일 손상 검사
sfc /scannow
Windows 이미지 복구도 참조하세요.
시스템 파일 손상 검사
dism /online /cleanup-image /scanhealth
Windows 이미지 복구도 참조하세요.
파일 권한을 텍스트 파일로 내보내기
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt
ACL 파일에 파일 사용 권한 저장
icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t
ACL 파일에서 파일 사용 권한 복원
icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t
사용할 때 경로는 사용할 /restore
때 /save
지정한 폴더의 부모 폴더여야 합니다. 이 예제 \RSA
에서는 위의 예제에 지정된 폴더의 \MachineKeys
부모입니다 /save
.
폴더의 NTFS 소유권 가져오기
takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r
폴더에 재귀적으로 NTFS 권한 부여
icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"
디바이스 관리
존재하지 않는 PNP 디바이스 제거
%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
그룹 정책 관리
그룹 정책 업데이트 강제 적용
gpupdate /force /wait:-1
CMD를 사용하는 기타 작업
OS 버전 표시
ver
또는
wmic os get caption,version,buildnumber /format:list
또는
systeminfo find /i "os name"
systeminfo | findstr /i /r "os.*version.*build"
OS 설치 날짜 보기
systeminfo | find /i "original"
또는
wmic os get installdate
마지막 부팅 시간 보기
systeminfo | find /i "system boot time"
표준 시간대 보기
systeminfo | find /i "time zone"
또는
wmic timezone get caption,standardname /format:list
Windows 다시 시작
shutdown /r /t 0
추가 /f
하면 실행 중인 애플리케이션이 경고 사용자 없이 강제로 닫힙니다.
안전 모드 부팅 감지
bcdedit /enum | find /i "safeboot"
Windows 명령 - PowerShell
SAC에서 PowerShell을 실행하려면 CMD 프롬프트에 도달한 후 다음을 입력합니다.
powershell <enter>
주의
다른 PowerShell 명령을 실행하기 전에 PowerShell 세션에서 PSReadLine 모듈을 제거합니다. PSReadLine이 SAC의 PowerShell 세션에서 실행되는 경우 클립보드에서 붙여넣은 텍스트에 추가 문자가 도입될 수 있는 알려진 문제가 있습니다.
먼저 PSReadLine이 로드되었는지 확인합니다. 기본적으로 Windows Server 2016, Windows 10 및 이후 버전의 Windows에서 로드됩니다. 수동으로 설치한 경우에만 이전 Windows 버전에 존재합니다.
이 명령이 출력 없이 프롬프트로 돌아오면 모듈이 로드되지 않았으며 SAC의 PowerShell 세션을 정상적으로 계속 사용할 수 있습니다.
get-module psreadline
위의 명령이 PSReadLine 모듈 버전을 반환하는 경우 해당 버전을 언로드하려면 다음 명령을 실행합니다. 이 명령은 모듈을 삭제하거나 제거하지 않고 현재 PowerShell 세션에서 해당 모듈을 언로드만 합니다.
remove-module psreadline
PowerShell을 사용하여 Windows 레지스트리 설정 보기 및 편집
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'
두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 존재합니다.
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
두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 필요합니다. 그룹 정책에서 구성된 경우 다음 그룹 정책 새로 고침 시 값이 다시 작성됩니다.
PowerShell을 사용하여 Windows 서비스 관리
서비스 정보 보기
get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId
Get-Service
은 사용할 수 있지만 서비스 로그온 계정을 포함하지는 않습니다. Get-WmiObject win32-service
않습니다.
서비스 로그온 계정 설정
(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')
이외의 서비스 계정을 NT AUTHORITY\LocalService
NT AUTHORITY\NetworkService
사용하거나 LocalSystem
계정 이름 뒤의 마지막(여덟 번째) 인수로 계정 암호를 지정합니다.
서비스 시작 유형 설정
set-service termservice -startuptype Manual
Set-service
은 (또는 시작 유형에 대해) Manual
Disabled
허용합니다Automatic
.
서비스 종속성 설정
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')
서비스 시작
start-service termservice
서비스 중지
stop-service termservice
PowerShell을 사용하여 네트워킹 기능 관리
NIC 속성 표시
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState
또는
get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress
Get-NetAdapter
는 2012+에서 사용할 수 있으며, 2008R2에서는 사용할 수 있습니다 Get-WmiObject
.
IP 속성 표시
get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder
NIC 사용
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter
또는
(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()
Get-NetAdapter
는 2012+에서 사용할 수 있으며, 2008R2에서는 사용할 수 있습니다 Get-WmiObject
.
DHCP를 사용하도록 NIC 설정
get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | Set-NetIPInterface -DHCP Enabled
(get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'").EnableDHCP()
Get-NetAdapter
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject
을 사용합니다. Azure VM은 IP 주소를 얻는 데 DHCP를 사용하려면 항상 게스트 운영 체제에서 구성돼야 합니다. Azure 고정 IP 설정은 여전히 DHCP를 사용하여 VM에 IP를 제공합니다.
Ping
test-netconnection
참고 항목
Write-Progress cmdlet은 이 명령에서 작동하지 않을 수 있습니다. 완화 방법으로 PowerShell에서 실행 $ProgressPreference = "SilentlyContinue"
하여 진행률 표시줄을 사용하지 않도록 설정할 수 있습니다.
또는
get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime
Test-Netconnection
매개 변수가 없으면 ping을 시도합니다 internetbeacon.msedge.net
. 2012 이상에서 사용할 수 있습니다. 2008R2의 경우 두 번째 예제와 같이 사용합니다 Get-WmiObject
.
포트 Ping
test-netconnection -ComputerName bing.com -Port 80
또는
(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)
Test-NetConnection
는 2012 이상에서 사용할 수 있습니다. 2008R2 사용 Net.Sockets.TcpClient
DNS 이름 확인 테스트
resolve-dnsname bing.com
또는
[System.Net.Dns]::GetHostAddresses('bing.com')
Resolve-DnsName
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 System.Net.DNS
을 사용합니다.
이름으로 Windows 방화벽 규칙 표시
get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP
포트별로 Windows 방화벽 규칙 표시
get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action
또는
(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled
Get-NetFirewallPortFilter
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 hnetcfg.fwpolicy2
COM 개체를 사용합니다.
Windows 방화벽 사용 안 함
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Set-NetFirewallProfile
는 2012 이상에서 사용할 수 있습니다. 2008R2의 경우 위의 CMD 섹션에서 참조한 대로 사용합니다 netsh advfirewall
.
PowerShell을 사용하여 사용자 및 그룹 관리
로컬 사용자 계정 만들기
new-localuser <name>
사용자 계정이 사용하도록 설정되어 있는지 확인
(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled
또는
(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled
Get-LocalUser
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject
을 사용합니다. 이 예제에서는 항상 SID S-1-5-21-*-500
이 있는 기본 제공 로컬 관리자 계정을 보여줍니다. 일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator
않습니다 .
로컬 그룹에 로컬 사용자 추가
add-localgroupmember -group Administrators -member <username>
로컬 사용자 계정 사용
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser
이 예제에서는 항상 SID S-1-5-21-*-500
이 있는 기본 제공 로컬 관리자 계정을 사용할 수 있습니다. 일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator
않습니다 .
사용자 계정 속성 보기
get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *
또는
get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID
Get-LocalUser
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject
을 사용합니다. 이 예제에서는 항상 SID S-1-5-21-*-500
이 있는 기본 제공 로컬 관리자 계정을 보여줍니다.
로컬 그룹 보기
(get-localgroup).name | sort
(get-wmiobject win32_group).Name | sort
Get-LocalUser
는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject
을 사용합니다.
PowerShell을 사용하여 Windows 이벤트 로그 관리
이벤트 로그 오류 쿼리
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more
반환할 원하는 이벤트 수로 변경 /c:10
하거나 필터와 일치하는 모든 이벤트를 반환하도록 이동합니다.
이벤트 ID별 이벤트 로그 쿼리
get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more
이벤트 ID 및 공급자별 이벤트 로그 쿼리
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more
지난 24시간 동안 이벤트 ID 및 공급자별 이벤트 로그 쿼리
get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"
24시간 대신 7일을 되돌아보는 데 사용합니다 604800000
. |
지난 7일 동안의 이벤트 ID, 공급자 및 EventData별 이벤트 로그 쿼리
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
PowerShell을 사용하여 설치된 애플리케이션 보기 또는 제거
설치된 소프트웨어 나열
get-wmiobject win32_product | select installdate,name | sort installdate -descending | more
소프트웨어 제거
(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()
PowerShell을 사용한 파일 시스템 관리
파일 버전 가져오기
(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion
이 예제에서는 Windows 버전에 따라 netvsc.sys, netvsc63.sys 또는 netvsc60.sys 이름이 지정된 가상 NIC 드라이버의 파일 버전을 반환합니다.
파일 다운로드 및 추출
$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)
이 예제에서는 폴더를 c:\bin
만든 다음 Sysinternals 도구 c:\bin
모음을 다운로드하여 추출합니다.
PowerShell을 사용하는 기타 작업
OS 버전 표시
get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber
OS 설치 날짜 보기
(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)
마지막 부팅 시간 보기
(get-wmiobject win32_operatingsystem).lastbootuptime
Windows 작동 시간 보기
"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))
작동 시간을 다음과 같이 <days>:<hours>:<minutes>:<seconds>:<milliseconds>
49:16:48:00.00
반환합니다.
Windows 다시 시작
restart-computer
추가 -force
하면 실행 중인 애플리케이션이 경고 사용자 없이 강제로 닫힙니다.
인스턴스 메타데이터
Azure VM 내에서 Azure 인스턴스 메타데이터를 쿼리하여 osType, 위치, vmSize, vmId, 이름, resourceGroupName, subscriptionId, privateIpAddress 및 publicIpAddress와 같은 세부 정보를 볼 수 있습니다.
인스턴스 메타데이터를 쿼리하려면 Azure 호스트를 통해 인스턴스 메타데이터 서비스에 REST를 호출하기 때문에 정상적인 게스트 네트워크 연결이 필요합니다. 따라서 인스턴스 메타데이터를 쿼리할 수 있는 경우 게스트가 네트워크를 통해 Azure 호스팅 서비스와 통신할 수 있음을 알려줍니다.
자세한 내용은 Azure Instance 메타데이터 서비스를 참조하세요.
인스턴스 메타데이터
$im = invoke-restmethod -headers @{"metadata"="true"} -uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -method get
$im | convertto-json
OS 유형(인스턴스 메타데이터)
$im.Compute.osType
위치(인스턴스 메타데이터)
$im.Compute.Location
크기(인스턴스 메타데이터)
$im.Compute.vmSize
VM ID(인스턴스 메타데이터)
$im.Compute.vmId
VM 이름(인스턴스 메타데이터)
$im.Compute.name
리소스 그룹 이름(인스턴스 메타데이터)
$im.Compute.resourceGroupName
구독 ID(인스턴스 메타데이터)
$im.Compute.subscriptionId
태크(인스턴스 메타데이터)
$im.Compute.tags
배치 그룹 ID(인스턴스 메타데이터)
$im.Compute.placementGroupId
플랫폼 오류 도메인(인스턴스 메타데이터)
$im.Compute.platformFaultDomain
플랫폼 업데이트 도메인(인스턴스 메타데이터)
$im.Compute.platformUpdateDomain
IPv4 개인 IP 주소(인스턴스 메타데이터)
$im.network.interface.ipv4.ipAddress.privateIpAddress
IPv4 공용 IP 주소(인스턴스 메타데이터)
$im.network.interface.ipv4.ipAddress.publicIpAddress
IPv4 서브넷 주소/접두사(인스턴스 메타데이터)
$im.network.interface.ipv4.subnet.address
$im.network.interface.ipv4.subnet.prefix
IPv6 IP 주소(인스턴스 메타데이터)
$im.network.interface.ipv6.ipAddress
MAC 주소(인스턴스 메타데이터)
$im.network.interface.macAddress
다음 단계
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.