windwos PS tools 管理员工具集 可以用来删日志哦

本文详细介绍了psfile、psgetsid等系统管理工具的使用方法及应用场景,包括远程管理、进程管理和系统信息查询等功能。

以下是我的工具列表:
    psfile.exe
    psgetsid.exe
    Psinfo.exe
    pskill.exe
    pslist.exe
    psloglist.exe
    pspasswd.exe
    psservice.exe
    psshutdown.exe
    whois.exe

    (注:1.上述工具中有很多都是有远程管理功能的,这里只简单的介绍一下,主要是本地计算机的运用    2.由于工具大多是由老外编写,所以usage都是英文的,下面的实用介绍都是主要功能的介绍,有时间的话会自己尝试汉化。)

    呵呵,接下来就开始接介绍了

    1.psfile
    用法如下:
    psfile是一个显示机器上的会话和有什么文件被网络中的用户的打开的命令。
    它的使用格式为:
    psfile [\\远程机器ip [-u Username [-p Password]]] [[Id | path] [-c]]
    它的参数有:
    -u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
    -c:关闭会话或文件


    比如我想看看远程机器上的会话和被远程用户打开的文件可以打:
    psfile \\远程机器ip
    接着就会显示
    [33] C:\WINNT
    User:    ADMINISTRATOR
    Locks: 0
    Access: Read
    [63] \PIPE\srvsvc
    User:    ADMINISTRATOR
    Locks: 0
    Access: Read Write
    接着我想关闭id为33,路径为c:\winnt的这个会话可以打
    psfile \\远程机器ip 33 -c    或    psfile \\远程机器ip c:\winnt -c


    2.psgetsid
    psgetsid是一个远程获取账号sid信息的工具。
    它的使用格式为:
    psgetsid [\\远程机器ip [-u username [-p password]]] [account]
    它的参数有
    -u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)


    比如要看远程机器上账号名为abc的sid信息可以打:
    psgetsid \\远程机器ip abc

    应用实例:psgetsid guest
              psgetsid d.x.l


 

    3.Psinfo
    psinfo是一个搜集机器软硬件信息的工具,它可以获得操作系统信息,硬件信息和软件信息。
    (这里dxl的感觉就是这个工具和systeminfo比起来的话还是有不小的优势,Psinfo显示的信息不像systeminfo那样的杂乱,他有比较多的参数支持,功能更齐全)

    它的使用格式为:
    psinfo [-h] [-s] [-d] [-c] [\\远程机器ip [-u username [-p password]]]
    它的参数有:
    -u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
    -h:是显示它安装了哪些补丁包
    -s:是显示它装了哪些软件
    -d:是显示磁盘信息。

    实例:不带参数下的信息显示

   

    psinfo -h

  

 4.pskill
    (这里dxl觉得和系统自带的taskkill功能最大的区别应该是远程功能吧)
    pskill是一个杀除进程的程序。
    它的使用格式为:
    pskill [\\远程机器ip [-u username] [-p password]] <process name | process id>


    比如要杀除一个pid号为999,名称为srm.exe的进程可以打:
    pskill \\远程机器ip 999    或    pskill \\远程机器ip srm

    应用实例:pskill Thunder5.exe

  

    5.pslist
    pslist是一个查看进程的程序。
    (dxl觉得这个工具的功能和tasklist各有各的优点,这里不再详细介绍,自己体会吧!)
    它的使用格式为:
    pslist [-d] [-m] [-x][-t][-s [n] [-r n] [\\远程机器ip [-u username] [-p password]] [name | pid]
    它的参数有:
    -u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
    -s:是使用任务管理器模式实时查看进程,可以按ESC键退出。
    -r <秒数>:是和-s连用的一个参数,它用来指定任务管理器模式是的刷新间隔。(默认的刷新间隔为1秒)
    -d:示各个进程的cpu使用信息。
    -m:显示各个进程的存储器使用信息。
    -x:非常详细显示进程的所有信息。
    -t:以树型方式显示进程。


    比如要查看远程机器ip上的进程的cpu使用信息可以打:
    pslist -d \\远程机器ip
    比如要查看一个pid号为999,名称为srm.exe进程的存储器使用信息可以打:
    pslist -m \\远程机器ip 999 或 pslist -m \\远程机器ip srm
    比如要以任务管理器模式实时查看61.12.23.4上进程情况,并且刷新间隔为3秒可以打:
    pslist -s -n 3 \\远程机器ip

    实例:不带参数下和tasklist的比较
    首先是tasklist的

  

    而pslist的

 

6.psloglist
    psloglist是一个查看系统事件记录的程序。
    它的使用格式为:
    psloglist [\\远程机器ip [-u username [-p password]]] [-s [-t delimiter]] [-n # | -d #][-c][-x][-r][-a mm/dd/yy][-b mm/dd/yy][-f filter] [-l event log file] <eventlog>
    它的参数有:
    -u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。
    -c:显示事件之后清理事件记录
    -l <事件记录文件名>:用于查看事件记录文件
    -n <n>:只显示最近的n条系统事件记录。
    -d <n>:只显示n天以前的系统事件记录
    -a mm/dd/yy:显示mm/dd/yy以后的系统事件记录
    -b mm/dd/yy:显示mm/dd/yy以前的系统事件记录
    -f <事件类型>:只显示指定的事件类型的系统事件记录。
    -x:显示事件数据代码
    -r:从旧到新排列(如不加则默认是从新到旧排列)
    -s:以一个事件为一行的格式显示,中间默认以逗号格开各个信息。
    -t <字符>:这个参数和-s连用,以来改变-s中默认的逗号。


    如果我想看远程机器的系统事件记录只用打:
    psloglist \\远程机器ip 123
    比如我想看最近的10条error类型的记录可以打:
    psloglist \\远程机器ip -n 10 -f error


    7.pspasswd
    本地和远程的密码修改器
    (大家玩过linux应该知道passwd这个命令吧,呵呵,和这个工具的功能差不多)
    用法:Usage: pspasswd [\\[computer[,computer,[,...]|Domain]|@file] [-u Username [-p Password]]] Username [NewPassword]

    实例:pspasswd iadxl 123456

 

    8.psservice
    psservice是一个服务管理程序。
    它的使用格式为:
    psservice [\\远程机器ip [-u username] [-p password]] <command> <options>
    它的参数只有:
    -u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
    它的command有:
    query [服务名]:显示某一服务的状态,如不填服务名则显示所有服务的状态。
    config <服务名>:显示某一服务的配置。
    start <服务名>:启动某一服务。
    stop <服务名>:停止某一服务。
    testart <服务名>:停止某一服务并重新启动它。
    pause <服务名>:暂停某一服务。
    cont <服务名>:恢复暂停的服务。
    depend <服务名>:显示某一服务依存关系。
    find <服务名>:在网络种搜寻指定的服务。


    比如你想查看在远程机器上的telnet服务的状态可以打:
    psservice \\远程机器ip query tlntsvr    (tlntsvr为telnet服务的服务名)
    比如你查看远程机器上的telnet服务的配置可以打:
    psservice \\远程机器ip config tlntsvr
    比如你想启动远程机器上的telnet服务可以打:
    psservice \\远程机器ip start tlntsvr
    其他用法以此类推。

    9.psshutdown
    psshutdown是一个远程关机命令。
    (和shutdown命令用法各有不同)
    它的使用格式为:
    psshutdown [[-s | -r | -k [-t nn][-m "消息"][-f]] -a | -l | -o] [\\远程机器ip]


    它的参数有:
    -a:取消以前执行的关机指令。
    -t:离关机还有多少秒。(默认是20秒)
    -s:关闭机器。
    -m:是要显示的信息。
    -f:是关机是不保存运行的程序。
    -r:表示重启。
    -l:表示锁定电脑。
    -o:表示注销用户。


    比如我想让远程机器30秒后关闭并显示(要关机了,请保存文件)则打:
    psshutdown -t 30 -s -m "要关机了,请保存文件" \\远程机器ip
    如果是要重起的话打:
    psshutdown -t 30 -m "要关机了,请保存文件" -r \\远程机器ip
    如果要取消刚才的指令可以打:
    psshutdown -a \\远程机器ip
    其他参数以此类推。

10.whois
    查询域名注册信息的工具
    (在linux中是自带这个工具的,同样的这个工具也有winos版本)
    用法:whois domainname [whois.server]

    实例:whois bbs.winos.com

 

 

    到这里工具基本上就介绍到这里了,由于这些都是命令行工具,要在cmd shell下执行,如果能直接开启cmd的话执行就好了,就像系统自带的命令一样。
    呵呵,其实这样做也不是没有可能,利用环境变量原理就可以轻松实现

    环境变量简单的说就是相当于给系统或用户应用程序设置的一些参数, 具体起什么作用这当然和具体的环境变量相关. 象path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找等等。

    嘿嘿,利用这个原理,我们就可以将常用的程序复制到path里所列的目录或者是自己创建目录就可以了!!!

    环境变量的设置方法:
    在windows操作系统中可以通过我的电脑-〉属性-〉高级,来设置系统的环境变量,然而在此设置的环境变量是否在注册表中具有对应的项呢?答案是肯定的。而在.net 中提供了一个类来获取系统的环境变量及其值。


The Windows NT and Windows 2000 Resource Kits come with a number of command-line tools that help you administer your Windows NT/2K systems. Over time, I've grown a collection of similar tools, including some not included in the Resource Kits. What sets these tools apart is that they all allow you to manage remote systems as well as the local one. The first tool in the suite was PsList, a tool that lets you view detailed information about processes, and the suite is continually growing. The "Ps" prefix in PsList relates to the fact that the standard UNIX process listing command-line tool is named "ps", so I've adopted this prefix for all the tools in order to tie them together into a suite of tools named PsTools. Note: some anti-virus scanners report that one or more of the tools are infected with a "remote admin" virus. None of the PsTools contain viruses, but they have been used by viruses, which is why they trigger virus notifications. The tools included in the PsTools suite, which are downloadable as a package, are: * PsExec - execute processes remotely * PsFile - shows files opened remotely * PsGetSid - display the SID of a computer or a user * PsInfo - list information about a system * PsKill - kill processes by name or process ID * PsList - list detailed information about processes * PsLoggedOn - see who's logged on locally and via resource sharing (full source is included) * PsLogList - dump event log records * PsPasswd - changes account passwords * PsService - view and control services * PsShutdown - shuts down and optionally reboots a computer * PsSuspend - suspends processes * PsUptime - shows you how long a system has been running since its last reboot (PsUptime's functionality has been incorporated into PsInfo) The PsTools download package includes an HTML help file with complete usage information for all the tools.
readme.txt 用实例详细介绍12个工具的使用方法。 PsTools是一个功能强大的远程管理工具包。工具包可谓是小工具里经典中的经典了,否则MS怎么会收购它呢,现在Telnet大部分关了,AT在win7还有,win10已取消,但PsTools可以使用的。 假设我要对192.168.0.8计算机进行远程管理,那么我可以先打开一个命令行窗口。在命令行中输入以下命令后敲回车:   D:\tools\Pstools>psexec file://192.168.0.8/ -u administrator -p 123 cmd.exe   PsExec v1.31 - execute processes remotely   Copyright (C) 2001-2002 Mark Russinovich   Microsoft Windows 2000 [Version 5.00.2195]   (C) 版权所有 1985-1998 Microsoft Corp.   C:\WINNT\system32>   解释一下,上述参数中的“-u administrator”是表示使用administrator身份来登录192.168.0.8计算机;“-p 123”是表示administrator的密码为123;“cmd.exe”表示我想执行远程计算机上面的cmd.exe命令,如果远程计算机上面没有 这个命令,你可以增加“-c”的参数,这样就可以把本地计算机上的这个命令直接拷贝到远程计算机后再执行。“C:\WINNT \system32>”表示你已经登录到远程计算机上面了。怎么样,这比telnet要方便得多吧,如果对方没有开telent、或者如果对方开了 但仍然使用着NTLM验证,想想看你得花多大的精力才能登录到对方的计算机上面呢?   第二个工具Psinfo。正如它的名字所示,该命令可以查看本地或者远程计算机的一些系统信息、软件安装信息和其他信息,不加任何参数的Psinfo就只显示本地计算机的系统信息。用法如下:   psinfo [-h] [-s] [-d] [-c] [\\RemoteComputer [-u Username [-p Password]]]   我们用实例来介绍该命令的使用,在命令行下输入:   D:\tools\Pstools>psinfo file://192.168.0.8/ -s -u administrator -p 123   其中“-s”表示显示远程计算机上面已安装的软件信息,“-u”和“-p”含义同PsExec。这条命令显示192.168.0.8计算机上面的系统信息 和软件信息。系统信息包括系统安装时间、内存大小、CPU频率和品牌、操作系统类型等等。………… [未公开参数:自动接受“最终用户许可协议”的参数 -accesseula]
<think> 我们正在解决在服务器上安装Code软件时遇到的问题。根据用户描述: - 安装user版本时提示“非管理员不支持” - 安装system版本时提示“程序不支持该版本运行” 结合引用内容,我们注意到引用[1]提到了企业级部署需要考虑安全性和可追溯性,包括版本信息和数字签名。引用[4]提到了自动安装配置,使用tftp服务器和引导文件。虽然这些引用不是直接针对当前问题,但我们可以从中获取一些思路。 分析问题: 1. **user版本安装提示“非管理员不支持”**:这通常意味着安装用户版本需要管理员权限,而当前用户可能没有足够的权限。 2. **system版本安装提示“程序不支持该版本运行”**:这可能是由于软件版本与服务器操作系统不兼容(例如32位与64位系统不匹配,或者操作系统版本过低等)。 解决思路: - 对于user版本:需要确保以管理员身份运行安装程序,或者当前用户具有管理员权限。 - 对于system版本:需要检查软件版本是否与服务器操作系统兼容(如系统架构、操作系统版本等)。 具体步骤: ### 1. 检查安装程序版本与操作系统兼容性 - 确认服务器操作系统的详细信息(如Windows Server版本、系统类型是32位还是64位)。 - 在Windows服务器上,可以通过以下命令查看系统信息: ```cmd systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type" ``` - 下载与服务器操作系统匹配的软件版本。例如,如果服务器是64位系统,则应下载64位安装程序。 ### 2. 以管理员身份运行安装程序 - 对于user版本安装,需要管理员权限。可以尝试以下方法: - 右键单击安装程序,选择“以管理员身份运行”。 - 如果是在命令行中安装,使用管理员权限打开命令提示符或PowerShell,然后运行安装命令。 ### 3. 检查安装程序数字签名(引用[1]) - 安装程序可能被修改或损坏。检查安装程序的数字签名是否有效,可以按照引用[1]中提到的使用`signtool`进行验证(尽管引用中是用作签名,但也可以用来验证): ```cmd signtool verify /pa <安装程序路径> ``` 如果签名无效,则重新下载安装程序。 ### 4. 尝试兼容模式运行 - 如果system版本安装提示不兼容,可能是由于软件设计时未考虑当前操作系统。可以尝试: - 右键点击安装程序,选择“属性”。 - 在“兼容性”选项卡中,尝试以兼容模式运行(例如选择Windows 7或Windows 8兼容模式),并勾选“以管理员身份运行此程序”。 ### 5. 查看安装日志 - 安装程序通常会生成日志文件,查看日志以获取更详细的错误信息。例如,对于Visual Studio Code,可以在命令行中添加日志参数: ```cmd <安装程序路径> /log <日志文件路径> ``` ### 6. 使用命令行参数进行安装(引用[4]的思路) - 有些安装程序支持命令行参数来指定安装类型。例如,对于Visual Studio Code,可以尝试以下命令: - 安装system版本(需要管理员权限): ```cmd <安装程序路径> --system --accept-license --verbose ``` - 安装user版本(不需要管理员权限,但需要用户有安装到用户目录的权限): ```cmd <安装程序路径> --user --accept-license --verbose ``` 注意:具体参数可能因软件而异,请参考Code安装程序的文档。 ### 7. 确保安装环境满足要求 - 检查服务器是否满足软件运行的环境要求(如.NET Framework版本等)。 ### 8. 考虑使用其他安装方式 - 如果上述方法无效,可以尝试使用其他安装方式,例如: - 使用压缩包版本(如果有),解压后直接运行,无需安装。 - 使用包管理器(如Windows的winget、Chocolatey)进行安装。 ### 示例:使用Chocolatey安装(需要管理员权限) 1. 安装Chocolatey(如果尚未安装): ```powershell Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) ``` 2. 使用Chocolatey安装Code: ```powershell choco install vscode -y ``` ### 总结 - 首先,确保安装程序与操作系统兼容。 - 其次,使用管理员权限运行安装程序(对于user版本,实际上通常不需要管理员权限,但错误提示可能意味着需要权限;而system版本必须使用管理员权限)。 - 如果问题仍然存在,检查安装程序完整性,尝试兼容模式,或使用包管理器安装。 如果以上步骤不能解决问题,请提供更详细的错误信息日志。 §§相关问题§§ 1. 如何查看Windows服务器的系统信息? 2. 如何验证安装程序的数字签名? 3. Chocolatey安装软件的基本步骤是什么? 4. 如何以兼容模式运行安装程序? </think>根据您的服务器安装Code遇到的问题,结合企业级部署的最佳实践,以下是系统化的解决方案: ### 解决方案步骤 1. **权限问题修正(针对user版本)** - 使用管理员账户运行安装程序: ```powershell # 以管理员身份启动PowerShell Start-Process powershell -Verb RunAs # 进入安装程序目录执行 .\VSCodeSetup.exe --user ``` - 若需普通账户安装,配置本地安全策略: ```cmd secpol.msc > 本地策略 > 用户权限分配 > 增加当前用户到"安装和卸载设备驱动程序" ``` 2. **系统兼容性处理(针对system版本)** - 验证系统架构匹配性(32/64位): ```powershell [Environment]::Is64BitOperatingSystem ? "64位" : "32位" ``` - 修改安装程序兼容性属性: ```reg Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Path\\To\\VSCodeSetup.exe"="~ RUNASADMIN WIN7RTM" ``` 3. **企业部署模式(引用[1][4])** - 创建MSI分发包(需Orca工具): ```xml <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"> <Dependencies> <TargetDeviceFamily Name="Windows.Server" MinVersion="10.0.14393.0"/> </Dependencies> </Package> ``` - 通过组策略部署(GPO): ```powershell New-GPO -Name "VSCodeDeploy" | New-GPLink -Target "OU=Servers,DC=domain,DC=com" ``` 4. **数字签名验证(引用[1])** - 检查安装包签名有效性: ```powershell Get-AuthenticodeSignature -FilePath .\VSCodeSetup.exe | Where-Object {$_.Status -ne "Valid"} ``` - 修复签名(需证书): ```cmd signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 VSCodeSetup.exe ``` 5. **备用安装方案** - 绿色解压版部署: ```powershell Invoke-WebRequest -Uri https://update.code.visualstudio.com/latest/win32-x64-archive/stable -OutFile VSCode.zip Expand-Archive -Path VSCode.zip -DestinationPath C:\Tools\VSCode ``` - Docker容器化运行(引用[3]跨平台性): ```dockerfile FROM mcr.microsoft.com/vscode/devcontainers/base:bullseye RUN apt-get update && apt-get install -y code ``` ### 故障排除流程图 ```mermaid graph TD A[安装失败] --> B{错误类型} B -->|非管理员不支持| C[提升权限/修改策略] B -->|版本不兼容| D[系统架构检查/兼容模式] C --> E[管理员Shell运行] D --> F[生成MSI分发包] E & F --> G[验证数字签名] G --> H[成功部署] ``` > **关键提示**:企业环境中建议优先采用MSI分发+组策略部署方式,避免直接运行EXE安装程序。对于Windows Server Core版本,需使用[无人值守安装参数](https://code.visualstudio.com/docs/editor/command-line)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值