了解一个通讯组里面成员的一个用户当前的邮箱空间达到80%配额的用户!

      由于不是太熟悉Powershell 脚本,用户的这个需求也很奇怪,他需要的是将您当前的通讯组中的成员达到80%的用户筛选出来,从听觉上,这得要一大段的Powershell 命令!

而我本人不是做开发,代码一多头就发晕,我得找个过程来实现。我仔细分析了下我需要的几个过程,其实把顺序理清楚了后发现问题处理貌似也没那么复杂:

 

     第一步:从组中导出当前组内成员,如果这个组是分发组这个命令比较简单,我们直接使用Powershell 命令:

                   ps:>get-distributiongroupmember -identity tss(组名) |select samaccountname >c:\tss.csv

                   截图如下:                   

    第二步:由于CSV内容不太符合我们目前的对于格式的期望,而且里面会有比较多的空格,因此我们需要做两步骤:

       1.删除空格,这个操作比较简单,我们使用notepad 的查找替换功能,将空格替换成 无即可实现这个过程:

2. 将-删除,同时将Samaccountname 缩短成一个比较简单的参数,我们这里将他变成identity.最终的结果如下:

 

第三步、将CSV文件编辑好之后,我们就可以获取邮箱的Quota,这个是我们的Mailbox 属性中的一个属性,我们这里截取了禁止发送的QUOTA和禁止发送和接收的Quota.结果如下:

Import-Csv c:\tss.csv |ForEach-Object{Get-Mailbox -identity $_.identity |select name,prohibitsendquota,prohibitsendreceivequota}  >c:\Userquota.csv

第四步、获取当前的Mailbox 大小,这个也可以采用Powershell 命令来导出当前邮箱数据库的大小,Powershell 命令如下:

Import-Csv c:\tss.csv |ForEach-Object{Get-Mailboxstatistics -identity $_.identity |select displayname,Itemcount,totalitemsize}  >c:\Usersize.csv

第五步,将两个CSV合并成一个Excel文件,也要经过几个步骤,首先我们将两个文件的空格都去除掉:

1.UserSize 的空格去除,操作比较简单,我们需要在查找替换空格:

2. Userquota的空格去除,去掉后结果如下:

  有点可能要注意下,这边的Unlimited 不是真的意味着是无限制,因为默认来说他会继承数据库本身的限制,也就是说,我们必须要查看数据库本身的Quota.所以我们查看下数据库的本身Quota大小,这边是2335M,也就是差不多2G的大小了:

这里我们将UserQuota 的大小变更为2G,再将G去掉,最终结果如下:

现在在将两个Excel 合并,形成两个工作表,我们需要对数据进行分列操作:

点击分列后固定宽度:

对数据以用户名排序,因为两个数据的共享字段为用户名,依据我们最终的结果如下,当然里面还有很多公式了。这些公式的写法必须依照我们相关实际情况来写:

OK,整体我们还可实现条件格式来达到警醒用户谁的配额超过警告的目的!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾岛心情

欢迎你的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值