[
 ["1.해당 OS의 계정 목록을 조회",
  "cat /etc/passwd|grep -v nologin",
  "Get-WmiObject -Class Win32_UserAccount -Filter \"LocalAccount=True\" | select Name |Format-Wide",
  "powershell -Command \"Get-WmiObject -Class Win32_UserAccount | Select-Object Name\"",
  "cat /etc/passwd | grep -v nologin",
  "esxcli user list"
 ],
 ["2. 해당 OS의 Process 정보를 조회",
  "whoami \n hostname \n ps -auxfw|grep -v '\\['|awk '{$5=$6=$7=$8=$9=$10=\"\"; print$0}' \n ls -l /proc/%s/exe --color=never \n ls -l /proc/%s/cwd --color=never",
  "get-wmiobject win32_process | where commandLine -ne $null | Format-List -Property @{n=\"owner\";e={$_.getowner().user}},ProcessId,@{n=\"mem\";e={$_.ws/1MB*100 / ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum / 1024 / 1024)}},@{n=\"cpu\";e={(Get-CimInstance Win32_PerfFormattedData_PerfProc_Process | where IDProcess -match $_.processId).PercentProcessorTime}},Name,path,commandLine",
  "$processes = Get-WmiObject Win32_PerfFormattedData_PerfProc_Process | Sort-Object PercentProcessorTime -Descending | Select-Object; $processes | ForEach-Object { [PSCustomObject]@{ Name = $_.Name; CPUPercent = $_.PercentProcessorTime; Description = $_.Description } }",
  "solaris \n /usr/ucb/whoami \n hostname \n pid=YOUR_PID; ps -efo user,pid,pcpu,pmem,ppid,args | grep -v '\\[' | awk '{$5=\"\\\";print$0}'; pmap $pid | egrep -v '\\:|\\[' | head -1 | awk '{print $4}'; pwdx $pid \n\n HPUX \n whoami \n hostname \n totalMemory= /usr/contrib/bin/machinfo|grep Memory \n UNIX95= ps -e -o user,pid,pcpu,vsz,args | grep -v '\\\\[' | awk '{ printf \\\"%.1f \\\", $4/1024*100/\"+totalMemory+\"; print $0}' \n pwd %s",
  ""
 ],
 ["3. 해당 OS의 디스크 정보를 조회",
  "df -T 2>/dev/null | grep -v ilesystem |grep -v tmpfs | awk '{$4=$5=$6=\"\";print $0}'",
  "Get-WmiObject -Class Win32_LogicalDisk |\n    Select-Object @{Name='Drive';Expression={$_.DeviceID.Replace(':', ':\\\\')}}, FileSystem, \n        @{Name='SizeKB';Expression={$_.Size / 1KB}}, \n        @{Name='DriveType';Expression={\n            Switch ($_.DriveType) {\n                0 { 'Unknown' }\n                1 { 'No_Root_Directory' }\n                2 { 'Removable_Disk' }\n                3 { 'Local_Disk' }\n                4 { 'Network_Drive' }\n                5 { 'Compact_Disc' }\n                6 { 'RAM_Disk' }\n                default { \\\"Unknown ($($_.DriveType))\\\" }\\n\" \n            }\n        }} | Format-Table -HideTableHeaders",
  "powershell -Command \"Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, VolumeName, Size, FreeSpace\"",
  "solaris \n df -k 2>/dev/null | awk '$2 != 0' | tail +2 | awk '{$3=$4=$5=\\\"\\\";print $0}' \n df -n \n\n HPUX \n bdf | tail +2 | awk '{$3=$4=$5=\\\"\\\";print $0}' \n df -n \n\n AIX \n lsfs -a",
  ""
 ],
 ["4. 해당 OS의 이름을 조회",
  "cat /etc/*release*",
  "(Get-CimInstance -ClassName CIM_OperatingSystem).Caption",
  "powershell -Command \"(Get-ItemProperty -Path \\'HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\').ProductName\"",
  "solaris \n more /var/sadm/softinfo/INST_RELEASE \n\n HPUX \n /usr/contrib/bin/machinfo|grep Release \n\n AIX \n uname -a",
  ""
 ],
 ["5. 해당 OS의 버전을 조회",
  "cat /etc/*release*",
  "(Get-WMIObject win32_operatingsystem) | Select Version | Format-Wide",
  "powershell -Command \"(Get-ItemProperty -Path \\'HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\').ProductName\"",
  "solaris \n more /var/sadm/softinfo/INST_RELEASE \n\n HPUX \n /usr/contrib/bin/machinfo|grep Release \n\n AIX \n oslevel -s",
  ""
 ],
 ["6. CPU의 코어 개수를 조회",
  "cat /etc/*release*",
  "$cpu = Get-WmiObject -Class Win32_Processor -ComputerName. | Select-Object -Property NumberOfCores | Sort-object -Property NumberOfCores -Descending; $cpu[0] | Format-wide",
  "powershell -Command \"(Get-WmiObject Win32_Processor).NumberOfCores\"",
  "solaris \n /usr/bin/kstat -m cpu_info | grep core_id | awk '{ print $2 }' | sort -u | wc -l \n\n HPUX \n ioscan -fknC processor|grep processor|wc -l \n\n AIX \n lparstat -i | grep Entitled",
  ""
 ],
 ["7. CPU소켓의 개수를 조회",
  "lscpu|grep Thread",
  "$cpu = (Get-CimInstance -ClassName Win32_ComputerSystem).NumberOfProcessors; $cpu[0] | Format-wide",
  "\"powershell -Command \\\"(Get-WmiObject Win32_ComputerSystem).NumberOfProcessors\\\"\"",
  "solaris \n /usr/sbin/psrinfo -p \n\n AIX \n lscfg -vp |grep WAY",
  ""
 ],
 ["8. CPU의 스레드당 코어 개수를 조회",
  "lscpu|grep Socket",
  "$cpu = Get-WmiObject -Class Win32_processor | Select-Object @{Name=\\\"Thread(s) per core\\\";Expression={$_.NumberOfLogicalProcessors/\"+corePerSocket+\"}}; $cpu[0] | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_Processor).NumberOfLogicalProcessors\"",
  "solaris \n /usr/bin/kstat -m cpu_info | grep 'module: cpu_info' | awk '{ print $4 }' | sort -u | wc -l \n\n HPUX kctune|grep -i lcpu|awk '{print $2}' \n\n AIX \n bindprocessor -q",
  ""
 ],
 ["9. CPU의 모델명을 조회",
  "cat /proc/cpuinfo | grep 'model name' | tail -1",
  "$cpu = Get-WmiObject -Class Win32_processor | Select-Object Name; $cpu[0] | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_Processor).Name\"",
  "solaris \n psrinfo -pv|tail -1 \n\n HPUX \n /usr/contrib/bin/machinfo|head -2|tail -1 \n\n AIX \n prtconf | grep \"Processor Type\"",
  ""
 ],
 ["10. os의 bootup 타임을 조회",
  "last reboot|tail -n 1",
  "Get-CimInstance -ClassName win32_operatingsystem | Select-Object @{Name=\\\"boot up time\\\";Expression={\\\"{0:ddd MMM d HH:mm:ss yyyy}\\\"  -f $_.LastBootUpTime}} | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_OperatingSystem).LastBootUpTime\"",
  "solaris \n last reboot|tail -1 \n\n HPUX \n last reboot|tail -1 \n\n AIX \n uptime",
  ""
 ],
 ["11. os의 총 메모리를 조회",
  "cat /proc/meminfo | grep MemTotal",
  "(Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum / 1024",
  "powershell -Command \"(Get-WmiObject Win32_ComputerSystem).TotalPhysicalMemory\"",
  "solaris \n prtconf|grep Mem \n\n HPUX \n /usr/contrib/bin/machinfo|grep Memory \n\n AIX \n lpsratat -i | grep MemTotal",
  ""
 ],
 ["12. cpu의 클럭(mhz)를 조회",
  "cat /proc/cpuinfo| head -n 13|grep 'cpu MHz'",
  "$cpu = Get-WmiObject -Class Win32_processor | Select-Object MaxClockSpeed; $cpu[0] | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_Processor).MaxClockSpeed\"",
  "solaris \n psrinfo -pv|grep -i 'MHz' \n\n HPUX \n /usr/contrib/bin/machinfo|grep 'GHz' \n\n AIX \n prtconf | grep \"Processor Clock Speed:\"",
  ""
 ],
 ["13. cpu의 벤더사를 조회",
  "lscpu|grep Vendor",
  "$cpu = Get-WmiObject -Class Win32_processor | Select-Object Manufacturer; $cpu[0] | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_Processor).Manufacturer\"",
  "solaris \n kstat cpu_info|grep -i 'vendor'|awk '{print $2}' | tail -1 \n\n HPUX \n /usr/contrib/bin/machinfo -v|grep Vendor \n\n AIX \n prtconf | grep \"Processor Type\"",
  ""
 ],
 ["14. os의 커널 버전을 조회",
  "uname -r",
  "$host | select Version | Format-Wide",
  "powershell -Command \"(Get-WmiObject Win32_OperatingSystem).Version\"",
  "solaris \n uname -r \n\n HPUX \n uname -r \n\n AIX \n uname -r",
  ""
 ],
 ["15. os의 디스크 총량을 조회",
  "df -P | grep -v '^Filesystem' | awk '$1 !~ /overlay/ {sum += $2} END { print sum/1024/1024 \" GB\" }'",
  "(Get-CimInstance Win32_LogicalDisk | Measure-Object -Property Size -Sum).sum / 1024 / 1024 / 1024",
  "03번 command 결과 합산",
  "solaris \n df -k | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n HPUX \n bdf | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n AIX \n df -g | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}'",
  ""
 ],
 ["16. hosts 파일을 조회",
  "cat /etc/hosts",
  "Get-Content C:\\Windows\\System32\\drivers\\etc\\hosts",
  "powershell -Command \"Get-Content C:\\Windows\\System32\\drivers\\etc\\hosts\"",
  "solaris \n cat /etc/hosts \n\n HPUX \n cat /etc/hosts \n\n AIX \n cat /etc/hosts",
  ""
 ],
 ["17. netstat 정보를 조회",
  "netstat -antplF |grep -v \"::\" | awk '{$2=$3=$6=\"\"; print $0 }'",
  "netstat -ano | findstr \"TCP\" | findstr /v \"CLOSE_WAIT\" | findstr /v \"TIME_WAIT\" | findstr /v \"::\" | findstr /v \"127.0.0.1\" | ForEach-Object { $line = $_ -split \"\\s+\"; $line[4] = (Get-Process -Id $line[5]).ProcessName; $line[5] = \"\"; $line -join \" \" }\n",
  "powershell -Command \"netstat -ano\"",
  "solaris \n netstat -an -P tcp -f inet | awk 'NR>4 {print $1,$2}' \n\n HPUX \n bdf |grep -v Filesystem|awk '{sum += $2} END {print sum/1024/1024}' \n\n AIX \n netstat -an",
  ""
 ],
 ["18. 총 메모리를 조회",
  "cat /proc/meminfo | grep MemTotal",
  "(Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum / 1024",
  "11번 command와 동일",
  "solaris \n prtconf|grep Mem \n\n HPUX \n /usr/contrib/bin/machinfo|grep Memory \n\n AIX \n lparstat -i | grep MemTotal",
  ""
 ],
 ["19. cpu의 상세 정보를 조회(캐시,버퍼,점유율)",
  "vmstat | tail -n 1",
  "Get-CIMInstance Win32_OperatingSystem | Select FreePhysicalMemory | Format-Wide \n (((Get-Counter -Counter \"\\memory\\*\"|select -ExpandProperty countersamples|? {($_.path -ilike \"*\\memory\\standby*\")-or ($_.path -ilike \"*\\memory\\modified page list bytes\")}).cookedvalue|Measure-Object -Sum).Sum) / 1024 \n $cpu = Get-WmiObject Win32_Processor | Select LoadPercentage;$cpu[0] | Format-wide \n Get-WmiObject -Class WIN32_OperatingSystem | Select-Object @{Name = \"Mem Percentage\"; Expression = {((($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)*100)/ $_.TotalVisibleMemorySize)}} | Format-Wide",
  "powershell -Command \"Get-WmiObject Win32_Processor | Select-Object Name,LoadPercentage,L2CacheSize,L3CacheSize,CurrentClockSpeed,CurrentVoltage\"",
  "solaris \n vmstat | tail -1 \n\n HPUX \n vmstat | tail -1 \n\n AIX \n vmstat | tail -1",
  ""
 ],
 ["20. 디스크의 총 사이즈를 조회",
  "df -P | grep -v ilesystem | awk '$1 !~ /overlay/ {sum += $2/1024} END { printf \"%d\\n\",sum}'",
  "(Get-CimInstance Win32_LogicalDisk | Measure-Object -Property Size -Sum).sum / 1024",
  "03번 내용과 동일",
  "solaris \n df -k | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n HPUX \n bdf | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n AIX \n df -g | grep -v ilesystem | awk '{sum += $2/1024} END { printf \\\"%d\\\\n\\\",sum}'",
  ""
 ],
 ["21. 디스크의 사용량을 조회",
  "df -P | grep -v ilesystem | awk '$1 !~ /overlay/ {sum += $3/1024} END { printf \"%d\\n\",sum}'",
  "(Get-CimInstance Win32_LogicalDisk | Measure-Object -Property Size -Sum).sum / 1024 - (Get-CimInstance Win32_LogicalDisk | Measure-Object -Property FreeSpace -Sum).sum / 1024",
  "03번 내용과 동일",
  "solaris \n df -k | grep -v ilesystem | awk '{sum += $3/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n HPUX \n bdf | grep -v ilesystem | awk '{sum += $3/1024} END { printf \\\"%d\\\\n\\\",sum}' \n\n AIX \n df -g | grep -v ilesystem | awk '{sum += $3/1024} END { printf \\\"%d\\\\n\\\",sum}'",
  ""
 ],
 ["22. 해당 OS의 로컬디스크와 네트워크 디스크의 사용률, 네트워크 디스크의 타입을 조회",
  "df -TP | awk 'NR>1 && $2!=\"tmpfs\" && $2!=\"overlay\" {if ($2==\"nfs4\" || $2==\"smbfs\" || $2==\"cifs\") {network_used+=$4; network_total+=$3; network_type[$2]=1} else {local_used+=$4; local_total+=$3}} END {local_percent=(local_used+local_total)>0 ? local_used/local_total*100 : 0; network_percent=(network_used+network_total)>0 ? network_used/network_total*100 : 0; printf \"%d\\n%d\\n\", int(local_percent), int(network_percent); for (type in network_type) printf \"%s \", type; printf \"\\n\"}'",
  "Get-PSDrive | ? { $_.Provider -in @('nfs','cifs','smbfs') } | %{ $network_used+=$_.Used; $network_total+=$_.Free + $_.Used }; Get-PSDrive | ? { $_.Provider -notmatch 'nfs|cifs|smbfs' } | %{ $local_used+=$_.Used; $local_total+=$_.Free + $_.Used }; $local_percent = if($local_total -gt 0){ $local_used / $local_total * 100 } else { 0 }; $network_percent = if($network_total -gt 0){ $network_used / $network_total * 100 } else { 0 }; Write-Host \\\"$([math]::Round($local_percent))\\\"; Write-Host \\\"$([math]::Round($network_percent))\\\"; Write-Host \\\"$(Get-PSDrive | ? { $_.Provider -in @('nfs','cifs','smbfs') } | % Provider | Select-Object -Unique | Out-String | %{ $_.TrimEnd() })\\\"",
  "powershell -Command \"Get-WmiObject Win32_NetworkConnection | Select-Object LocalName,RemoteName,ProviderName,ConnectionType,Status\" \n powershell -Command \\\"Get-WmiObject -Class Win32_MappedLogicalDisk | Select-Object Caption,DeviceID,FileSystem,FreeSpace,Name,ProviderName,Size\\\"",
  "",
  ""
 ],
 ["23. Linux 의 Crontab 정보 조회",
  "cat /etc/passwd|grep -v nologin|grep -v /bin/false|grep -v /bin/sync|grep -v /sbin/shutdown|grep -v /sbin/halt \n crontab -u %s -l",
  "",
  "",
  "solaris \n cat /etc/passwd|egrep -v \"nologin|/bin/false|/bin/sync|/sbin/shutdown|/sbin/halt\" \n crontab -l %s \n\n HPUX \n cat /etc/passwd|egrep -v \"nologin|/bin/false|/bin/sync|/sbin/shutdown|/sbin/halt\" \n crontab -l %s \n\n AIX \n ls -al /var/spool/cron/crontabs/",
  ""
 ]
]