我需要编写一个PowerShell脚本,允许用户传递一个txt文件,其中包含您从
获得的标准信息Get-Process > proc.txt
语句作为参数,然后将文件中的进程与当前运行的进程进行比较。然后,我需要显示每个流程的ID,名称,开始时间和运行时间,这不是txt文件中的一个新流程。
为了让您大致了解我将如何做到这一点:我会
v1
)。v2
)中保存所有当前正在运行的进程的名称。v1
,v2
)并将不在txt文件中的进程(新的进程)写入另一个变量(v3
)。v3
中每个进程名称的进程ID,开始时间和运行时间,并将所有这些(包括名称)输出到控制台和新文件中。首先,我怎样才能从txt文件中读取进程的名称?我试图在互联网上找到它,但没有运气。
其次,我如何只保存变量中的新进程而不是所有差异(例如文件中但当前未运行的进程)。 据我所知,
Compare-Object
返回所有差异。
第三,如何从v3
中的所有流程名称获取我想要的剩余流程信息?
最后,我怎样才能将ID,开始时间,运行时间和v3
中的名称整齐地合并到一个文件中?
我几乎是PowerShell编程的初学者,我很确定我上面发布的4步方法很可能是错误的,因此感谢我能得到的任何帮助。
答案 0 :(得分:0)
你真的需要告诉我们你到目前为止所尝试的内容。如果不是,你会得到负面回应。所有这一切。
您已直接确定了自己的内容,甚至是如何实现目标的。所以,你可以很容易地编写一个代码块来实现这一点。
您需要做的就是在Microsoft Virtual Academy上进行快速PowerShell会话 https://mva.microsoft.com/liveevents/powershell-jumpstart
或Youtube,
https://www.youtube.com/results?search_query=beginning+powershell https://www.youtube.com/results?search_query=powershell+extract+data+from+text+file https://www.youtube.com/results?search_query=powershell+compare+data
和/或查看PoSH帮助文件以获取以下信息:
About_Variables
About_Arrays
Get-Content
Import-Csv
New-Item
Append-Content
Compare-Object
......你将参加比赛。
所以,请自己动手,回复你的想法,这里的人们会尽力帮助你。
更新 - 在Ansgar发布之前,我在屏幕上看到了这个。我没有看到您在之前的帖子中发布了相同类型的问题,表示您接受了他的回复。
同上,关于Ansgar评论你的3,4和最后两句,正如我在回复中所说的那样。