# date #
date
# OS version #
PS C:\Users\Administrator> systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List
PS C:\Users\Administrator> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object OSArchitecture
# Mother Board #
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_BaseBoard
# ( 오픈스택 등의 가상 서버인 경우 아래 명령어로 대체 Get-CimInstance -ClassName Win32_ComputerSystemProduct)
# Disk Info #
PS C:\Users\Administrator> Get-WmiObject -class Win32_LogicalDisk
PS C:\Users\Administrator> wmic diskdrive get
# Memory Info #
PS C:\Users\Administrator> Get-WmiObject -class "win32_physicalmemory" | Format-Table Tag,BankLabel,@{n="Capacity(GB)";e={$_.Capacity/1GB}},Manufacturer,PartNumber,Speed -AutoSize
# Processor Info #
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_Processor | Select-Object Name
PS C:\Users\Administrator> cmd /c "wmic cpu get Name, NumberOfCores, NumberOfLogicalProcessors"
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object OSArchitecture
# Computer Name #
PS C:\Users\Administrator> $env:COMPUTERNAME
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object Name
# Ethernet #
PS C:\Users\Administrator> Get-NetAdapter | Format-Table -AutoSize -Wrap
PS C:\Users\Administrator> Get-NetAdapter | Where-Object Status -eq "Up" | ForEach-Object { Get-NetIPConfiguration -InterfaceAlias $_.Name }
# Netstat #
PS C:\Users\Administrator> netstat -ano | findstr LISTEN
# Job Scheduler Info #
PS C:\Users\Administrator> Get-ScheduledTask | Format-Table -AutoSize -Wrap
( 위 명령어로 안될 시 임시로 환경변수 값 제한 없애기 $FormatEnumerationLimit = -1 )
# Open TCP Connection #
PS C:\Users\Administrator> Get-NetTCPConnection -State Listen | Select-Object -Property LocalPort, State
# Open UDP Connection #
PS C:\Users\Administrator> Get-NetUDPEndpoint -LocalAddress 0.0.0.0 | Sort-Object LocalPort
# PATH List #
PS C:\Users\Administrator> ($env:PATH).split(";")
# TCP Open Process & Name #
PS C:\Users\Administrator> Get-NetTCPConnection -State Listen |Select-Object -Property LocalPort, State, @{name='ProcessID';expression={(Get-Process -IncludeUserName -Id $_.OwningProcess). ID}}, @{name='ProcessName';expression={(Get-Process -IncludeUserName -Id $_.OwningProcess). Path}}, @{name='User';expression={(Get-Process -IncludeUserName -Id $_.OwningProcess). Username}} | Format-Table -Property * -AutoSize | Out-String -Width 4096
# Accountment Info #
PS C:\Users\Administrator> net user
- Full Ver
PS C:\Users\Administrator> wmic useraccount list full
#===WEB SERVER===#
# IIS Version #
PS C:\Users\Administrator> get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring
# IIS Site Info #
PS C:\Users\Administrator> get-website
#===DB SERVER===#
# MS-SQL Version #
PS C:\Users\Administrator> sqlcmd -Q "SELECT @@VERSION"
# MS-SQL select all databases #
PS C:\Users\Administrator> sqlcmd -Q "select * from sys.sysdatabases"
# MS-SQL select all system tables #
PS C:\Users\Administrator> sqlcmd -Q "select * from sys.tables"
#===JAVA SERVER===#
# JAVA #
PS C:\Users\Administrator> java -version
# JAVA 프로세스가 별도로 도는 경우
PS C:\Users\Administrator> Get-Process java
# 이클립스로 앱 실행하는 경우
PS C:\Users\Administrator> Get-Process | Where-Object { $_.Path -like "*eclipse*" }
# PID 확인
PS C:\Users\Administrator> tasklist | findstr java
javaw.exe 3324 RDP-Tcp#92 1 1,082,032 K
javaw.exe 7368 RDP-Tcp#92 1 879,980 K
# PS C:\Users\Administrator> jcmd $PID VM.flags
info file?
제가 관리하는 서버에 대한 info 파일의 용도는 아래와 같습니다.
① 서버에 대한 시스템 정보를 어느 것도 찾을 수 없는 망실 상태에서 참고할 수 있도록 준비해두는 자료
② 기존 정보와 변경된 점이 있는지 비교할 수 있도록 백업해두는 용도