Windows PowerShell 实战指南-动手实验-3.8

2020-05-05 22:44:34 浏览数 (1)

2.哪一个Cmdlet命令能够把其他Cmdlet命令输出的内容转换为HTML?

命令:ConvertTo-Html

应用:

PS C:>get-process | convertto-html -property Name, Path, Company -title "Process Information" > proc.htm; ii proc. htm

这些命令创建并打开一个 HTML 页,该页列出了本地计算机上进程的名称、路径和所属公司。

第一个命令使用 Get-Process cmdlet 获取用来表示计算机中运行的进程的对象。该命令使用管道运算符 (|) 将进程对象发送到 C onvertTo-Html cmdlet。

该命令使用 Property 参数来选择要包括在表中的进程对象的三个属性。该命令使用 Title 参数来指定 HTML 页的标题。该命令还 使用重定向运算符 (>) 将生成的 HTML 发送到名为 Proc.htm 的文件。

第二个命令使用 Invoke-Item cmdlet(别名为 ii)在默认浏览器中打开 Proc.htm。这两个命令以分号 (;) 来分隔。

3.哪一个CMdlet命令可以重定向输出到一个文件(file)或者到打印机(printer)?

命令:out-file

应用:

PS C:>$a = get-process PS C:>out-file -filepath C:Test1process.txt -inputobject $a -encoding ASCII -width 50

这些命令将计算机上的进程列表发送给 Process.txt 文件。该文本采用 ASCII 格式进行编码,以便搜索程序(如 Findstr 和 Grep)可以读取该文本。默认情况下,Out-File 使用 Unicode 格式。

第一个命令获取进程的列表并将它们存储在 $a 变量中。第二个命令使用 Out-File cmdlet 将该列表发送给 Process.txt 文件。

该命令使用 InputObject 参数指定输入位于 $a 变量中。它使用 Encoding 参数将输出转换为 ASCII 格式。它使用 Width 参数将文件中的每一行限制为 50 个字符。由于输出的行在 50 个字符处被截断,因此将省略进程表的最右列。

命令:out-Printer

应用:

PS C:>$h = get-help -full get-wmiobject PS C:>out-printer -inputobject $h

这些命令将打印完整版本的 Get-WmiObject 的“帮助”主题。第一个命令使用 Get-Help cmdlet 获取完整版本的 Get-WmiObject 的“帮助”主题,并将其存储在 $h 变量中。第二个命令将内容发送到 认打印机。它使用 InputObject 参数将 $h 变量的值传递给 Out-Printer。

4.哪一个Cmdlet命令可以操作进程(process)?(提示:记住,所有的Cmdlet命令包含一个名词)

Get-Process Cmdlet Microsoft.PowerShell.M... 获取在本地计算机或远程计算机上运行的进程。

Start-Process Cmdlet Microsoft.PowerShell.M... 启动本地计算机上的一个或多个进程。

Stop-Process Cmdlet Microsoft.PowerShell.M... 停止一个或多个正在运行的进程。

Wait-Process Cmdlet Microsoft.PowerShell.M... 等到进程停止后再接受更多输入。

5.你可以使用哪一个Cmdlet命令向事务日志(log)写入(write)数据?

解答 :

write-EventLog

应用:

PS C:>write-eventlog -computername Server01 -logname Application -source MyApp -eventID 3001 -message "MyApp added a user-requested feature to the display."

此命令将一个事件从 MyApp 源写入远程计算机 Server01 上的应用程序事件日志。

6.你必须知道别名是Cmdlet命令的昵称。那一个Cmdlet可以用于创建、修改或者导入别名(aliases)?

创建:New-Alias或者Set-Alias

修改:Set-Alias

导入:Import-Alias

应用:

创建:

PS C:>new-alias list get-childitem

此命令创建名为“列表”的别名来表示 Get-ChildItem cmdlet。

导入:

PS C:>import-alias test.txt

此命令从名为 test.txt 的文件中导入别名信息。

修改:

PS C:>set-alias list get-location

此命令将别名“list”与 Get-Location cmdlet 相关联。如果“list”是另一个 cmdlet 的别名,则此命令将更改其关联,以便让 其仅作为 Get-Location 的别名

此命令使用与上一示例中的命令相同的格式,但其省略了可选参数名 -Name 和 -Value。在省略参数名时,这些参数的值必须以指定 的顺序出现在命令中。在此示例中,-Name 的值(“list”)必须为第一个参数,-Value 的值 (“get-location”)必须为第二个参数。

7.怎么保证你在shell中的输入都在一个脚本(transcript)中,怎么保存这个脚本到一个文本文件中?

命令:

start-Transcript > c:transcript.txt

此命令能够在C盘目录下生成一个transcript.txt 文档,文档里写明了当前脚本的存储位置。

8.从安全事件(event)日志检索所有的条目可能需要很长时间,你怎么只获取最近的10条记录?

求解答

9.是否有办法可以获取一个远程计算机上安装的服务(services)列表?

命令:

Get-Service

应用:

PS C:>get-service -computername Server02

此命令获取 Server02 远程计算机上的服务。

因为 Get-Service 的 ComputerName 参数不使用 Windows PowerShell 远程处理,所以即使未将计算机配置为在 Windows PowerShe ll 中进行远程处理,你也可以使用此参数。

11.Out-File 命令输出到文件每一行记录的默认宽度大小为多少个字符?是否有一个参数可以修改这个宽度?

-Width <Int32> 指定输出的每一行中的字符数。将截断任何额外字符,不换行。如果省略此参数,则由主机的特征确定宽度。Windows PowerShe ll 控制台的默认值为 80(字符)。

是否必需? False 位置? named 默认值 80 是否接受管道输入? false 是否接受通配符? False

12.是否有一个参数能够预防Out-File命令覆盖现有的文件?

-NoClobber [<SwitchParameter>] 将不会覆盖现有文件(替换其内容)。默认情况下,如果指定路径中存在文件,则 Out-File 将在不发出警告的情况下覆盖该文 件。如果同时使用了 Append 和 NoClobber,则输出将追加到现有文件。

13.查看Powershell中预先设定所有别名(aliase)?

PS C:>export-alias -path alias.csv

描述:

此命令将当前的别名信息导出到当前目录中名为 Alias.csv 的文件。

14.用一条最短的命令检索出一台名为Server1计算机中正在运行的进程列表

求解

15.有多少Cmdlet命令可以处理普通对象?(提示:记得使用类似“objiec”的单词名好过使用类似“objiects”的复数名词)

求解

16.如何获取到更多关于数组(array)的帮助信息?

求解

0 人点赞