Powershell 查找用户的主SMTP地址
网络编程
今天同事让我生成一个报表,列出用户的主SMTP地址后缀是@aus.ddb.com的用户。
Get-ADUser可以直接获取相关信息,不过主SMTP是隐藏在ProxyAddress这个属性里面的,如果1个用户有多个邮件地址,大写的SMTP的那个就是主地址。
脚本如下,获取所有用户的信息,然后创建一个空对象,对每一个对象的属性进行处理,把对应的值放入对象, 最后过滤结果输出。
$users = Get-ADUser -Filter {proxyAddresses -like '*'} -SearchBase "ou=sydney,dc=omnicom,dc=com,dc=au" -Properties proxyAddresses $pp=$null $pp=@{'name'=$null;'primarysmtp'=$null} $obj=New-Object -TypeName psobject -Property $pp $result=@() foreach($user in $users){ $primarySMTPAddress = "" foreach ($address in $user.proxyAddresses) { if (($address.Length -gt 5) -and ($address.SubString(0,5) -ceq 'SMTP:') ) { $primarySMTPAddress = $address.SubString(5) break } } $objtemp=$obj | select * $objtemp.name=$user.Name $objtemp.primarysmtp=$primarySMTPAddress $result+=$objtemp } $result | Where-Object{$_.primarysmtp -like "*aus.ddb.com*"} | sort Name
本文出自 “麻婆豆腐” 博客
Powershell 查询 Windows 日志的方法
论坛里面有人询问如何使用powershell脚本查询文件修改的审计日志,豆子服务器没开这个功能,不过尝试写了个类似的脚本可以查询日志,并输出对应的x
PowerShell因为在此系统中禁止执行脚本的解决方法
在Powershell直接脚本时会出现:无法加载文件******.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅"get-helpabout_signing"。所在位置行:1字符:17+E:T
用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件
本来想用批处理的,想想算时间太麻烦了……立马安装PowerShell看帮助文档,里面有个例子:以下命令查找ProgramFiles文件夹中上次修改日期晚于2005年10月1
编辑:一起学习网
标签:脚本,文件,用户,在此,对象