专栏首页BigYoung小站Windows PowerShell 实战指南-动手实验-9.8

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

任务1:

下面的命令是否可以获取特定域中所有计算机上已经安装的Hotfix的清单?阐述原因

Get-HotFix -ComputerName (Get-ADComputer -Filter * | Select-Object -ExpandProperty name)

解答:

Get-Hotfix 的 -ComputerName 获取管道类型是:String[],通过()传递过来的是类型也是String.所以该命令可以运行,并且结果正确。

-ComputerName <String[]> 指定远程计算机。默认值为本地计算机。 键入远程计算机的 NetBIOS 名称、Internet 协议 (IP) 地址或完全限定的域名。 此参数不依赖于 Windows PowerShell 远程处理。即使你的计算机未配置为运行远程命令,你也可以使用 Get-Hotfix 的 ComputerName 参数。 是否必需? False 位置? named 默认值 Local computer 是否接受管道输入? true (ByPropertyName) 是否接受通配符? False (Get-ADComputer -Filter * | Select-Object -ExpandProperty name) | gm TypeName:System.String

任务2:

下面的命令是否可以从相同的计算机上已经安装的Hotfix的清单?阐述原因

Get-ADComputer -Filter * | Get-HotFix

解答:

Get-Hotfix 命令支持ByPropertyName 参数,并且Get-ADComputer -Filter *传递的参数也是string类型的。所以该命令可以执行。 具体信息查看以下内容:

help Get-Hotfix -full 查看以下信息

-ComputerName <String[]> 指定远程计算机。默认值为本地计算机。 键入远程计算机的 NetBIOS 名称、Internet 协议 (IP) 地址或完全限定的域名。 此参数不依赖于 Windows PowerShell 远程处理。即使你的计算机未配置为运行远程命令,你也可以使用 Get-Hotfix 的 ComputerName 参数。 是否必需? False 位置? named 默认值 Local computer 是否接受管道输入? true (ByPropertyName) 是否接受通配符? False

Get-ADComputer -Filter * | gm 查看以下信息:

TypeName:Microsoft.ActiveDirectory.Management.ADComputer Name MemberType Definition ---- ---------- ---------- Contains Method bool Contains(string propertyName) Equals Method bool Equals(System.Object obj) GetEnumerator Method System.Collections.IDictionaryEnumerator GetEnumerator() GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Item ParameterizedProperty Microsoft.ActiveDirectory.Management.ADPropertyValueCollection Item(string propertyName) {get;} DistinguishedName Property System.String DistinguishedName {get;set;} DNSHostName Property System.String DNSHostName {get;set;} Enabled Property System.Boolean Enabled {get;set;} Name Property System.String Name {get;} ObjectClass Property System.String ObjectClass {get;set;}

任务3:

下面的命令是否可以获取到域中计算机上已经安装的HotFix清单?阐述原因。

Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}} | Get-HotFix

解答:

通过Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}}传递过来的是String类型,正好符合Get-FoxHit的name参数接收要求。所以能正确执行,具体信息如下:

Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.Name}} | gm 查看以下信息;

TypeName:Selected.Microsoft.ActiveDirectory.Management.ADComputer Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() ComputerName NoteProperty System.String ComputerName=WIN-JFDKC82CU4F

任务4:

使用管道参数绑定来写一个命令获取域中每一台计算机正在运行的进程的清单。不要使用括号。

解答:

Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.name}} | Get-Process

解答思路:

因为Get-ADComputer -Filter * 只能传递一个name属性的ComputerName(域内ad电脑名)的Sting类型,但是Get-Process只能接收ComputerName属性的String类型管道传递,所以我们通过Select-Object @{l='ComputerName';e={$_.name}},把name转换成Get-Process能接收ComputerName属性的String类型管道传递值。

任务5:

可以使用括号而不要使用管道输入方法来获取域中每一台计算机上已经安装的服务清单。

解答:

Get-Service -ComputerName(Get-ADComputer -Filter * | Select-Object name -ExpandProperty name)

任务6:

确认命令是否可以正常运行,并阐述其原因。

Get-ADComputer -Filter * | Select-Object @{l='ComputerName';e={$_.name}} | Get-WmiObject -Class Win32_BIOS

解答:

不能正常执行,因为Get-WmiObject 命令不支持管道输入。具体信息如下:

help Get-WmiObject -full可以查看到以下信息:

输入 None 不能通过管道将输入传递给 Get-WmiObject。

本文分享自微信公众号 - BigYoung小站(bigyoungs),作者:Young文人

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django-auth-ldap 配置方法

    公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web登录认证系统时,就需要这个D...

    BigYoung小站
  • Exchange2013通讯组授权其他用户管理其中成员方法

    公司里的通讯组超级多,总是有员工申请更改通讯组中的成员,为了简化管理员的工作,可以把经常变更群组成员的群组管理员分配给相应的人员。

    BigYoung小站
  • Ldap3 库使用方法(四)

    今天给大家讲解如何使用Ldap3 库更新AD中用户和部门(OU)属性,含重命名操作和移动部门方法

    BigYoung小站
  • 图解NumPy | Numpy入门教程(译)

    NumPy 软件包是 Python 生态系统中数据分析、机器学习和科学计算的主力军。它极大地简化了向量和矩阵的操作处理。Python 的一些主要软件包(如 sc...

    马哥Python
  • openJdk和sun jdk的区别

    使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK,

    斯文的程序
  • 「神经常微分方程」提出者之一David Duvenaud:如何利用深度微分方程模型处理连续时间动态

    提到 David Duvenaud 你或许有些陌生,但最近大热的「神经常微分方程」想必你一定听说过。

    机器之心
  • Linux学习_008_Linux下的JDK和OpenJDK有什么具体的区别

    黑泽君
  • Linux下的JDK和OpenJDK有什么具体的区别

    黑泽君
  • 启动Eclipse弹出:Failed to load JavaHL Library 错误框的解决办法

      eclipse安装完svn插件以后,在启动时出现:Failed to load JavaHL Library.  These are the errors ...

    阿豪聊干货
  • Django 2.1.7 form处理select下拉菜单

    在开发的过程,会有很多form表单需要select下拉菜单的枚举类设置,如果一个个在前端中写死是很不合理的。应该要在models数据模型设置的时候就直接配置好,...

    Devops海洋的渔夫

扫码关注云+社区

领取腾讯云代金券