首页 > 系统相关 >powershell 5 信息收集命令

powershell 5 信息收集命令

时间:2024-02-25 10:24:25浏览次数:32  
标签:powershellCopy Code 收集 Get 信息 PowerShell 命令 powershell

PowerShell 命令来查看当前用户及其权限:

powershellCopy Code
# 获取当前登录的用户
$env:USERNAME

# 获取计算机名称
$env:COMPUTERNAME

# 检查当前用户是否为管理员
([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

# 获取当前用户所属的组列表
$groups = [System.Security.Principal.WindowsIdentity]::GetCurrent().Groups | foreach { $_.Translate([System.Security.Principal.NTAccount]).Value }
$groups

这些命令将依次输出当前登录的用户名、计算机名称、当前用户是否为管理员,以及当前用户所属的组列表。


PowerShell 中,你可以使用以下命令来查看当前主机名:

powershellCopy Code
$env:COMPUTERNAME

运行这个命令后,将显示当前主机的名称。


PowerShell 中,你可以使用以下命令来获取本机的配置信息:

powershellCopy Code
Get-ComputerInfo

运行这个命令后,将显示包含有关本机配置信息的详细输出,例如操作系统版本、处理器信息、内存信息、网络适配器等。

你还可以根据需要使用特定的 cmdlet 来获取特定的配置信息。以下是一些常用的示例:

  • 获取操作系统信息:Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object Caption, Version, OSArchitecture
  • 获取处理器信息:Get-CimInstance -ClassName Win32_Processor | Select-Object Name, Manufacturer, MaxClockSpeed
  • 获取内存信息:Get-CimInstance -ClassName Win32_PhysicalMemory | Select-Object Manufacturer, Capacity, Speed
  • 获取网络适配器信息:Get-NetAdapter | Select-Object Name, InterfaceDescription, MacAddress, Status

通过组合和筛选这些命令,你可以轻松获取你所需的配置信息。


PowerShell 中,你可以使用以下命令来查看主机上的用户账号:

powershellCopy Code
Get-LocalUser

这个命令将列出本地计算机上的所有用户账号,包括名称、描述和是否启用等信息。

如果你只想查看特定的用户账号,可以使用以下命令:

powershellCopy Code
Get-LocalUser -Name "username"

将 "username" 替换为你想要查找的特定用户名。这个命令将返回与该用户名匹配的用户账号信息。


PowerShell 中,你可以使用以下命令来获取本地管理员的信息:

powershellCopy Code
Get-LocalGroupMember -Group "Administrators"

这个命令将返回属于 "Administrators" 组的成员信息,其中包括用户名、和域(如果适用)等。


要获取本地计算机上所有用户的 SID,你可以使用以下 PowerShell 命令:

powershellCopy Code
$users = Get-WmiObject Win32_UserAccount
foreach ($user in $users) {
    $objUser = New-Object System.Security.Principal.NTAccount($user.Name)
    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier]).Value
    Write-Output "$($user.Name): $strSID"
}

这个命令将列出本地计算机上所有用户的用户名及其对应的 SID。运行后,你将看到一个包含所有用户及其 SID 的列表。


PowerShell 中,你可以使用以下命令来获取当前用户的 SID(安全标识符):

powershellCopy Code
$objUser = New-Object System.Security.Principal.NTAccount($env:UserName)
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier]).Value
$strSID

运行这个命令后,将显示当前用户的 SID。


PowerShell 命令来获取当前计算机上所有会话的信息:

powershellCopy Code
Get-WmiObject Win32_LogonSession | Select-Object StartTime, LogonId, UserName

这个命令会返回会话的开始时间、登录ID 和用户名等信息。通过这个命令可以快速获取当前计算机上所有会话的信息。


要查看当前计算机上的在线用户,你可以使用以下 PowerShell 命令:

powershellCopy Code
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object UserName

这个命令将返回当前计算机上已登录用户的用户名。请注意,这个命令可能无法区分远程用户和本地用户,它只会列出当前已登录的所有用户。

如果你想要获取更详细的用户信息,可以使用以下命令:

powershellCopy Code
Get-WmiObject -Class Win32_LoggedOnUser | Select-Object Antecedent -ExpandProperty Antecedent

这个命令将返回更详细的已登录用户信息,包括域名、用户名等。通过这些命令,你可以查看当前计算机上的在线用户信息。


在Windows系统中,你可以使用以下 PowerShell 脚本来获取本机连接过的WiFi密码:

powershellCopy Code
$wifiProfiles = netsh wlan show profiles | Select-String "所有用户配置文件 :"
$wifiPasswords = @()

foreach ($profile in $wifiProfiles) {
    $wifiName = $profile -replace "    所有用户配置文件 :\s+", ""
    $wifiPassword = (netsh wlan show profile name="$wifiName" key=clear | Select-String "关键内容            :").ToString() -replace "    关键内容            : ", ""
    
    $wifiInfo = [PSCustomObject]@{
        "WiFiName" = $wifiName
        "Password" = $wifiPassword
    }
    
    $wifiPasswords += $wifiInfo
}

$wifiPasswords

这个脚本将列出本机连接过的所有WiFi网络名称及其对应的密码。请注意,为了能够查看密码,你需要以管理员权限运行 PowerShell。


PowerShell 查询操作系统和版本信息,你可以使用以下命令:

powershellCopy Code
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object Caption, Version, OSArchitecture

这个命令将返回当前操作系统的名称(Caption)、版本(Version)以及架构(OSArchitecture)等信息。


PowerShell 查看计算机的详细信息,包括操作系统、处理器、内存、磁盘等方面的信息,你可以使用以下命令:

powershellCopy Code
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object Manufacturer, Model, TotalPhysicalMemory
Get-CimInstance -ClassName Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object DeviceID, Size, FreeSpace

这个命令将返回计算机的制造商(Manufacturer)、型号(Model)、总物理内存(TotalPhysicalMemory)、处理器名称(Name)、核心数(NumberOfCores)、最大时钟速度(MaxClockSpeed)、逻辑磁盘设备标识符(DeviceID)、磁盘大小(Size)和可用空间(FreeSpace)等信息。


PowerShell 查询系统信息,你可以使用以下命令:

powershellCopy Code
Get-ComputerInfo

这个命令将返回计算机的大量信息,包括操作系统、处理器、内存、磁盘、网络配置、安全等方面的信息。


PowerShell 查询计算机的补丁情况,你可以使用以下命令:

powershellCopy Code
Get-HotFix

这个命令将返回安装在计算机上的所有已安装的热补丁(HotFix)信息,包括补丁编号、安装日期等。


PowerShell 查询操作系统的体系架构(Architecture),你可以使用以下命令:

powershellCopy Code
Get-WmiObject -Class Win32_OperatingSystem | Select-Object OSArchitecture

这个命令将返回当前操作系统的体系架构信息。


PowerShell 查询本机的服务信息,你可以使用以下命令:

powershellCopy Code
Get-Service

这个命令将返回计算机上所有的服务列表,包括服务的名称、状态、启动类型等信息。


PowerShell 查询 HOSTS 文件的内容,你可以使用以下命令:

powershellCopy Code
Get-Content C:\Windows\System32\drivers\etc\hosts

这个命令将返回计算机上 HOSTS 文件的内容。


PowerShell 查询进程列表,你可以使用以下命令:

powershellCopy Code
Get-Process

这个命令将返回计算机上所有正在运行的进程列表,包括进程的 ID、名称、优先级、状态等信息。


PowerShell 查询启动项程序的信息,你可以使用以下命令:

powershellCopy Code
Get-WmiObject -Query "SELECT * FROM Win32_StartupCommand"

这个命令将返回计算机上所有的启动项程序信息,包括程序的名称、路径、启动类型等。


PowerShell 查询计划任务,你可以使用以下命令:

powershellCopy Code
Get-ScheduledTask

这个命令将返回计算机上所有的计划任务列表,包括任务的名称、状态、触发器等信息。


PowerShell 查询主机的开机时间,你可以使用以下命令:

powershellCopy Code
Get-CimInstance Win32_OperatingSystem | Select-Object LastBootUpTime

这个命令将返回计算机系统的上次开机时间。


PowerShell 查看主机的共享信息,你可以使用以下命令:

powershellCopy Code
Get-WmiObject Win32_Share

这个命令将返回计算机上所有的共享资源信息,包括共享名称、路径、类型等。


查询本地运行环境,你可以使用 PowerShell 中的以下命令:

powershellCopy Code
Get-ChildItem Env:

这个命令将返回当前计算机上所有的环境变量信息,包括系统环境变量和用户环境变量。


PowerShell 查询防火墙相关配置,你可以使用以下命令:

powershellCopy Code
Get-NetFirewallProfile

这个命令将返回计算机上所有防火墙配置文件的详细信息,包括公用网络、专用网络和域网络的配置。


PowerShell 查看代理配置情况,你可以使用以下命令:

powershellCopy Code
Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'

这个命令将返回当前用户在 Windows 系统中的代理配置信息,包括代理服务器地址、端口号、是否启用代理等。


查询远程桌面协议(RDP)使用的端口号,一般情况下默认端口号是3389。你可以使用以下 PowerShell 命令来确认:

powershellCopy Code
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

执行这个命令后,如果系统使用的是默认端口号3389


查询远程桌面协议(RDP)是否启用,你可以使用以下 PowerShell 命令:

powershellCopy Code
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections

执行这个命令后,你将会得到如下输出:

Copy Code
fDenyTSConnections : 0

如果输出结果中的 fDenyTSConnections 的值为 0,则表示远程桌面协议(RDP)已启用。如果值为 1,则表示远程桌面协议被禁用。

请注意,执行此命令需要管理员权限。如果你没有管理员权限,请使用管理员账户或者以管理员身份运行 PowerShell。


查看最近在 Windows 系统中打开的文件,你可以使用以下 PowerShell 命令:

powershellCopy Code
Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs'

执行这个命令后,你将会看到最近打开的文件列表。这些文件可能是最近在资源管理器中打开过的文件。


查询回收站中的文件,你可以使用以下 PowerShell 命令:

powershellCopy Code
$shell = New-Object -ComObject Shell.Application
$recycleBin = $shell.NameSpace(0xA)
$recycleBin.Items() | foreach {
    $item = $_
    $itemPath = $recycleBin.GetDetailsOf($item, 0)
    $itemDate = $recycleBin.GetDetailsOf($item, 2)
    Write-Output "文件名: $itemPath, 删除日期: $itemDate"
}

执行此命令后,它将返回回收站中的文件列表,包括文件名和删除日期。


 

标签:powershellCopy,Code,收集,Get,信息,PowerShell,命令,powershell
From: https://www.cnblogs.com/suv789/p/18032096

相关文章

  • java中命令行传参
    使用命令行传参实现参数传入并操作demo代码点击查看代码publicstaticvoidmain(String[]args){for(inti=0;i<args.length;i++){System.out.println('args[i]:'+args[i]);}}使用命令行传参执行程序,首先需要先将目标执行文......
  • CTFer——RCE命令执行漏洞
    例题总结:CTFshow29:if(!preg_match("/flag/i", $c)){        eval($c);(eval内执行的是php代码,必须以分号结尾)绕过方式:(1)?c=system("cat%20fla*");fla*代替flag (2) ?c=eval($_GET[1]);&1=phpinfo();参数输入加eval(3)?c=echo`catfla*`; 30:if(!preg_ma......
  • linux--初学者的常用命令合集(频率比较高的)
     sudosuroot    打开root权限passwdroot     修改root密码ctrlshift+      字符变大ctrl-          字符变小cd.           返回本目录cd..           返回上一级目......
  • linux中修改PS1变量解决shell命令提示符太长
    原文地址:https://www.cnblogs.com/liqinglucky/p/PS1.html在使用linux时,当我的文件目录很深的时候,前面的命令提示符太长会导致后面输入不方便。于是就想能不能不显示全路径名,只保留显示最后一个目录就可以。root@ubuntu:/home/ubuntu/Documents/Files/Music#研究发现shell中PS......
  • powershell 获取 CPU RAM DISK 序列号
    PowerShell中获取CPU序列号可以通过WMI(WindowsManagementInstrumentation)来实现。下面是一个示例代码,演示如何在PowerShell中获取CPU序列号:powershellCopyCode#使用WMI获取CPU信息$cpu=Get-WmiObject-ClassWin32_Processor|Select-ObjectName,Processo......
  • 【KingbaseES】sys_restore命令详解及示例
    原文地址:https://blog.csdn.net/sinat_36528886/article/details/134491475【KingbaseES】sys_restore命令详解及示例一、概述二、语法一、概述sys_restore—从一个由sys_dump创建的归档文件恢复一个KingbaseES数据库sys_restore是一个用来从sys_dump创建的非文本格式......
  • Windows ® Installer. V 5.0.20348.1668 (msiexec命令 参数
    Windows®Installer.V5.0.20348.1668msiexec/Option<RequiredParameter>[OptionalParameter]安装选项 </package|/i><Product.msi> 安装或配置产品 /a<Product.msi> 管理安装-在网络上安装产品 /j<u|m><Product.msi>[/t<TransformList>......
  • pip install 命令详解
    pipinstall命令用于安装Python包,支持从多种源安装包1.通过pipinstall-h命令查看帮助文档总共包括:1.usage2. Description3. InstallOptions4. PackageIndexOptions5. GeneralOptions: 1.用法(usage):Usage:pipinstall[options]<requirementspecifie......
  • 02 基础的Dot命令
    Dso命令Dso命令先当于用指令操作一些事情如何打开Dso常见的Dso命令有拿一些打开CMD的方式打开开始菜单>window系统>命令提示符MIN+R键打开运行>输入:CMD>打开控制台在任意的文件夹下面,按住shift键+鼠标右击,选择在此处打开命令行窗口资源管理器的地址栏前面加......
  • Redis事务的概念及相关命令的使用
    在数据处理的世界里,事务(Transaction)是一个不可或缺的概念。它们确保了在一系列操作中,要么所有的操作都成功执行,要么都不执行。这就像是一个“全有或全无”的规则,保证了数据的一致性和完整性。今天,我们就来聊聊Redis事务的使用,看看如何通过它来提升我们的数据操作效率和安全性。......