Windows PowerShell 实战指南-附录(复习实验)-实验回顾1

xiaoxiao2021-02-28  124

任务1:

运行一个命令,从而显示应用程序事件日志中最新的100个条目,不要使用Get-WinEvent。

解答:

get-eventlog -computername localhost -logname Application -newest 100

任务2:

写一个仅显示前五个最消耗虚拟内存(VM)进程的命令。

解答:

Get-Process | Sort-Object vm -Descending | Select-Object -First 5

任务3:

创建一个包含所有的服务CSV文件,只需要列出服务名称和状态。所有处于运行状态的服务处与停止状态的服务之前。

解答:

这个是我想的一个方法:

Get-Service | Sort-Object -Property status -Descending | Format-Table name,status -AutoSize

以下为网上找的一个方法:

get-service |sort-object -property @{Expression=”Status”;Descending=true},@{Expression="Name";Descending=false} |format-table name, status –autosize

任务4: 写一个命令,将BITS服务的启动项类型变更为手动。 解答: Set-Service bits -StartupType Manual //此命令是直接把bits服务的启动类型改为手动,但是我想要的是能够查询到他的启动类型后再进行切换

任务5: 显示你计算机中所有文件名为Win*.*的文件,以c:\开始。 解答: Get-ChildItem -Recurse -path c:\ -Include “win*.*” | Select-Object -First 10 这个问题的关键在于 -recurse 这个参数,这是一个遍历的选项,我后边加的 select-object 是为了限制显示数量。

任务:6: 获取一个c:\Program Files的目录列表。包含所有的子文件,把这些目录列表放到位于c:\Dir.txt的文本文件内(记住去使用 the > redirector,或者 Out-FileCmdlet) 解答: ls -Recurse -Path ‘C:\Program Files’ | select FullName -First 10 | Out-File c:\dir2.txt 在网上查到的 select fullname 这个参数。

任务7: 获取最近20条安全事件日志的列表,将这些信息转换成xml格式。不要在硬盘上创建文件,而是把xml在控制台窗口直接显示出来。 解答: Get-EventLog -LogName Security | Select-Object -First 20 | ConvertTo-Xml | Format-Custom ConvertTo-Xml 把查询到的结果以xml形式呈现,Format-Custom是为了更好的显示

任务8: 获取一个服务列表,并将其导出到以c:\services.csv命名的CSV文件内。 解答: Get-Service | Export-Csv -Path c:\services2.csv

任务9: 获取一个服务列表,仅保留服务名称、显示名称和状态,然后将这些信息发送到一个HTML文件。在HTML文件中的服务信息表格之前显示“Installed Services” 解答: Get-Service | ConvertTo-Html | Out-File service.html 以上命令实现了“获取一个服务列表,仅保留服务名称、显示名称和状态,然后将这些信息发送到一个HTML文件”,最后要求的显示“Installed Services”,不知道怎么实现,目前只知道out-file 有一个-append 的属性,是把指定内容追加到文件末尾。

任务10: 为get-childItem创建一个新的别名D。仅将别名导出到一个文件里,关闭这个shell,然后打开一个新的控制窗口,把别名导入到新的shell中。确认能够通过运行D并且获得一个目录列表。 解答: Set-Alias -name d -Value Get-ChildItem ; Export-Alias -Path d2.csv

任务11: 显示系统中存在的事件日志列表。 解答: Get-EventLog -List

此命令是从:help remove-eventlog -full 里查看到的 ————————– 示例 4 ———————–>— PS C:>get-eventlog -list Max(K) Retain OverflowAction Entries Log


15,168 0 OverwriteAsNeeded 22,923 Application 15,168 0 OverwriteAsNeeded 53 DFS Replication 15,168 7 OverwriteOlder 0 Hardware Events 512 7 OverwriteOlder 0 Internet Explorer 20,480 0 OverwriteAsNeeded 0 Key Management Service 30,016 0 OverwriteAsNeeded 50,060 Security 15,168 0 OverwriteAsNeeded 27,592 System 15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell 15,168 7 OverwriteAsNeeded 12 ZapLog PS C:>remove-eventlog -logname ZapLog PS C:>get-eventlog -list Max(K) Retain OverflowAction Entries Log


15,168 0 OverwriteAsNeeded 22,923 Application 15,168 0 OverwriteAsNeeded 53 DFS Replication 15,168 7 OverwriteOlder 0 Hardware Events 512 7 OverwriteOlder 0 Internet Explorer 20,480 0 OverwriteAsNeeded 0 Key Management Service 30,016 0 OverwriteAsNeeded 50,060 Security 15,168 0 OverwriteAsNeeded 27,592 System 15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell

这些命令说明如何列出计算机上的事件日志并验证 Remove-EventLog 命令是否成功。

第一个命令列出本地计算机上的事件日志。

第二个命令删除 ZapLog 事件日志。

第三个命令重新列出事件日志。ZapLog 事件日志将不再显示在列表中。

任务12: 运行一个命令来展示shell所在的当前目录。 解答: 不会!! 不知道pwd 的结果是不是。

任务13: 运行一个命令,展示最近你在shell中运行过的命令。从中查找到你在任务11中所运行的命令。将这两个命令通过管道传输符进行连接,重新运行任务11的命令。 换句话说,假如Get-Something是一个获取历史命令的命令,5是任务11的命令ID号,并且Do-Something试运行历史命令的命令,运行如下。 Get-Something -id 5 | Do-something 解答: Get-History -Id 15 | Invoke-History

任务14: 运行命令修改安全时间日志,使得在需要时可以通过覆盖就日志的方式新增日志。 解答: Write-EventLog -Message “test” -logname Application -source MyAp -EventId 12313

任务15:

通过使用New-Item Cmdlet来创建以名称为C:\Review的心目。这域运行Mkdir时不一样的;New-Item命令需要知道你所想要创建的新项目是什么类型。

解答: New-Item -Path c:\ -name Review -ItemType directory 任务16: 显示该注册码内容: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders 解答: 不知道怎么实现,不过应该是使用Get-ItemProperty这个Cmdlet

任务17: 找出(但不要运行)命令能做如下事情的:

重启电脑关闭电脑从一个工作组或者域已出一个电脑恢复一个电脑系统,并重建检查点

解答:

Restart-ComputerStop-ComputerRemove-ComputerRestore-Computer Checkpoint-Computer

任务18:

你认为什么能够改变一个注册表值?提示:他是一个和你在任务16中发现的命名相同的名词。

解答:

Set-ItemProperty Set-ItemProperty cmdlet 更改指定项的属性值。可以使用该 cmdlet 设定或更改项的属性。例如,可以使用 Set-ItemProperty 将 文件对象的 IsReadOnly 属性值设置为 true。 也可以使用 Set-ItemProperty 创建和更改注册表值及数据。例如,可以向注册表项中添加新的注册表条目以及设定或更改该条目的 值。

更多资料请点击:获取资料

转载请注明原文地址: https://www.6miu.com/read-22753.html

最新回复(0)