昨天和今天因为工作需要写了两个很简单的脚本,都需要自定义输出的列,需要用到 select @{name="名字”expression={表达式}}这种方式自定义。

第一个例子是boss让我输出一个简单的报表,需要列出悉尼除了系统账号以外的所有用户,包括他们的名字,手机,座机,所在的OU,公司等等信息。

这个基本的命令很简单,get-aduser就能实现,几个过滤的条件稍微思考了一下。

  1. 所有悉尼用户,可以用 -searchbase限制搜索的OU范围;

  2. 排除系统账号,因为所有的系统账号都位于同一个OU下面,那么搜索的时候过滤掉这个OU就行,例如

get-aduser -filter * | where-object{$_.disginuishedname -notlike '*XXXX*‘}

  1. 各种需要查看的属性可以用-properties 列出

  2. 用户所在的OU本身不是一个属性,不过可以列出用户的caonicalname 属性,例如 /domain/ouname/username 的格式,然后通过split分隔符’/‘来处理

  3. 可以通过{name="xxx"';express={XXX}}的格式来自定义输出的表格header

  4. 最后导出到csv文件保存

1
get-aduser -Filter * -SearchBase "ou=sydney,dc=omnicom,dc=com,dc=au" -Properties name,mobile,title,ipphone, canonicalname,company,office |?{$_.distinguishedname -notlike '*Sydney Non-Replication*'}| select Name, Title, Mobile,@{name="Extension";expression={$_.ipphone}},@{name="OU";expression={$temp=($_.canonicalname -split '/');$temp[$temp.count-2]}}, company, office | sort name| Export-Csv c:\temp\users.csv

gridview查看一下结果

第二个例子是因为windows 2003服务器上周寿终正寝了,我需要导出AD里面windows2000和2003的记录,看看是否还在使用。实现方式和上面类似,filter过滤操作系统类型,然后select里面表达式自定义status,test-connection发送一个icmp包进行判断,根据结果返回值,同时输出dns cache的ip地址

1
2
3
Get-ADComputer -Filter{(operatingsystem -like "*2000*"-or (operatingsystem -like "*2003")} -Properties operatingsystem,ipv4address |
 sort operatingsystem| select name, operatingsystem, 
@{name="status";expression={if(Test-Connection -ComputerName $_.name -count 1 -quiet ){return "Connected"}else{return "Disconnected"}}}, ipv4address

本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1675600,如需转载请自行联系原作者

Powershell 自定义输出列,两个例子相关推荐

  1. python3编码和解码_python3的url编码和解码,自定义gbk、utf-8的例子

    因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...

  2. 上下位机通讯协议_嵌入式中自定义协议的一些典型例子

    关于自定义协议,对于会的人很简单,对于不会的人就摸不着头脑.下面分享一些关于自定义协议的笔记. 什么是协议? 协议这个概念我觉得挺杂的.就像嵌入式的概念一样,说法不一,比如大家常常争论FPGA是不是嵌 ...

  3. EntityFramework Core 2.0自定义标量函数两种方式

    前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...

  4. python3默认编码_python3的url编码和解码,自定义gbk、utf-8的例子

    因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...

  5. python 解码gbk_Python3的url编码和解码,自定义gbk、utf-8的例子

    今天小编就为大家分享一篇python3的url编码和解码,自定义gbk.utf-8的例子,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 因为很多时候要涉及到url的编码和解码工作,所 ...

  6. 08自定义异常类的两个例子(例子2为异常在继承中的应用,且包含模板类的应用)

    08自定义异常类的两个例子 前提: 自定义异常两步曲: 1)提供一个接收char*的构造函数. 2)重写异常基类exception的两个虚函数-what()和析构(返回值类型忘记可以查看基类) 注意: ...

  7. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...

    问题描述: 初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲 if logical_expression statements elseif logical_ex ...

  8. java.两个例子充分阐述多态的可拓展性

    下面我将以两个例子来充分阐述java中多态的可拓展性,作为一名优秀的程序员,就必须了解程序的可拓展性,非常利于程序后续的开发. 第一个例子:利用电脑的主板来作为例子,就我们所熟悉的电脑的主板,里面是不 ...

  9. (3两个例子)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述 http://www.cnblogs.com/jsxyhelu/p/7907241.html 2环境架设 http://www ...

最新文章

  1. 【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题 | 旅行商问题 | 子集和问题 )
  2. NYOJ 485 A*B Problem
  3. git 可视化工具_版本控制可视化神器Gource:简单易上手,效果恰似烟花秀
  4. ibatis spring框架升级到5.x_Java SSM框架常见面试题,良心整理,
  5. 基础拾遗------webservice详解
  6. 我对Spring的理解
  7. linux内核怎么修改屏幕旋转方向_运维必备:常见的Linux系统故障及其排查的方法...
  8. 机器视觉--入门小结
  9. Hotmail的2G邮箱被收回,只剩250M了
  10. Java抓取电脑屏幕
  11. 过滤器 和 拦截器的 6个区别,别再傻傻分不清了
  12. 【计算机组成原理】定点乘法运算之补码一位乘法(Booth算法)(对初学者的步骤详解)
  13. [渝粤教育] 西南交通大学 土木工程试验与量测技术 参考 资料
  14. 【Python】QQ大家来找茬辅助
  15. 想哭的鱼最新QQ伤感日志发布:你不该,不相信我
  16. autocad 二次开发 拆分图纸_谈谈AUTOCAD.NET二次开发的一些经验(一)
  17. 带图傻瓜式自己动手修改新浪微博各种尾巴
  18. 带你一步步了解S5PV210-I~ARM历史,RISC和CISC的区别,ARM与三星,华为,高通这些的关系
  19. python算法工程师面试_算法工程师的面试经历及总结
  20. 中国微信生态行业投资价值分析及发展趋势预测报告

热门文章

  1. 关于JS中变量提升的规则和原理的一点理解(一)
  2. 如何检查项目的需求是否完整
  3. 伪基站识别技巧(一)
  4. jQuery技术内幕:深入解析jQuery架构设计与实现原理
  5. 『第12天』从ipc$ 连接失败讲起
  6. 个人代码库のC#千千静听 - 桌面歌词 (功能模拟)
  7. 编程心法 之什么是MVP What is MVP development?
  8. 2018年的上半年目标之一:培养阅读的兴趣和爱好
  9. 河南省第十届大学生程序设计竞赛 A,B,C,D,F,G,H 题解
  10. (2)Spark下载与入门