分类 工作日志 下的文章

水一篇,公司从前年上thoughts后,编辑md文档还是很爽的,但也仅限于标题、分割、缩进、引用,今天花了点时间尝试了所有md支持的格式,原来各个编辑器还是有差异,常用的typora居然收费了。
有道云笔记默认的md格式就很好用了。
花10分钟学习工具使用,方便一生 :smile:

一键三连1,我们再测一个2
把大象放冰箱

  1. 打开冰箱
  2. 塞进去大象
  3. 关上冰箱门

- 阅读剩余部分 -

又到年底,回顾一下今年的身边事

  1. 初衷很好的分享制度,平日里见不到一篇,最近被密集刷榜。虽然是公司内部的贴吧,大家的帖子质量属实不高。上来没头没尾直接贴代码片段,上下文、解决什么问题都不写清
  2. 内部贴吧逐渐沦为吐槽办
  3. 正式承接了IT部门,以往的管理水平实在太低。供应商价格不合理,等保做了100多W,服务器、网络设备平均高15%;维保厂商屌的一笔。两个月内全部换掉,拉内审、采购的兄弟与我们制约,防大家碰红线。内部系统完全依赖供应商、缺乏监控,owner连服务宕机的处理规则都不清楚,2个月内梳理个大概,让问题能先于用户报出来- -,虚拟化也启动了
    当然也有IT兄弟们不理解离开了,可能是我的管理风格,对以往的“遗产”深恶痛绝,明明能通过公网解析,非要买两台硬件服务器搭建DNS,关键还要线上每一次域名更改手动告诉他,他再手动加到公司内的DNS服务器。这不纯纯脱裤子放屁行为!这类例子不胜枚举!

    其次我把采购这肥差变成清水衙门,让大家把自己的供应商都晒出来,同质价低者得。想起某部门要做ISO认证,明明3W能做的事情硬是整成10W+,本来我不想参与的,毕竟没花我部门预算,可IT并过来之后我就必须管:)

  4. 每天的时间被各种管理任务、绩效、安全、审计、提供资料等等填满。需求必须经过我,觉得合理之后才会路由给小伙伴,这也是我比较累的根因
  5. 近段时间有某网站的编辑付费邀约我录制课程,赶巧嗓子咳嗽,多次拉扯后以5000/2小时成交。每天晚上下班后等小孩睡了才能录,经常搞到1点以后。被这编辑的彩虹屁吹的头晕

下班途中刷手机,看到抖音有晒淘宝人生,算是淘宝第一批用户了。回想起首次购物在易趣,全程无担保买过mp4,2004年的1500块,大家都说我上当了,直到两周后收到来自广州的邮政快件^_^
ACA9C4E3-A782-40A6-BC6F-A5EA40BB93B0.jpeg

我的海外主机悉数被墙,每次连接异常麻烦,中转多次才能连接。
在使用finalshell过程中,忽然发现有这个设置,勾选即可连接。分享一下!这种没重点宣传却被用户发现的功能让人印象深刻!
snap.png

经常检查DAG复制是Exchange邮箱管理员日常任务之一,以前每天上去看也挺烦的,尤其数据库比较多的情况下。下图就是“好心”的台北同事经常提醒我检查,我的天,这要是通过EMC看还不累死。还CC我领导,搞的人怪没面子的。
图片1.jpg

几条需要注意:
一、此脚本放在exchange任一台主机运行即可。
二、Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 添加Exchange管理模块
三、用Get-MailboxDatabase |foreach name 查看公司所有的Exchange数据库,选择要监控的数据库或者全部监控

NOTES
===========================================================================
 Created with:     SAPIEN Technologies, Inc., PowerShell Studio 2014 v4.1.57
 Created on:       2014/6/21 22:39
 Created by:       xing_ji
 Organization:     
 Filename:         
===========================================================================
.DESCRIPTION
    A description of the file.
#>
$host.UI.RawUI.WindowTitle = "check_DAGhealth edit by xing_ji"
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
for (;;)
{
Start-Sleep -s 3600
$dblist = "XXhmdb11", "XXmdb12", "XXmdb13", "XXmdb14", "XXmdb00", "XXmdb11", "XXmdb12"
foreach ($db in $dblist)
{
    $status = Get-MailboxDatabaseCopyStatus -identity $db |foreach {$_.status}
    if ($status -notcontains "Healthy")
    {
        $msg1 = "$db is Dismount More than 5 minutes,Pls check!"
        $ssr = "relay.XXX.com"
        $from = "[email protected]"
        $to = "[email protected]"
                    $cc="[email protected]"
                $body = "$db is Dismount More than 5 minutes,Pls check!"
        Send-MailMessage -Subject $msg1 -SmtpServer $ssr -From $from -to $to -cc $cc -Body $body
    }
}
}

小插曲,
$status = (Get-MailboxDatabaseCopyStatus -identity $db).status 原先写法
$status = Get-MailboxDatabaseCopyStatus -identity $db |foreach {$_.status} 后来写法
我在写完脚本时,本机运行测试正常。但是放在服务器上运行时反而起了反作用,明明健康也给我发邮件报警玩儿。最后我发现原来是powershell 2.0版本不支持原来写法。

效果如图
图片2.jpg

前言:
恢复AD账号的文章不少,但是恢复后,往往更重要的事情片字未提,本文从实际操作角度出发,利用事前主动备份,防患未然,适用于每家企业。

某AD管理人员失误,将大领导账号除(删*除也是敏感字?)。抓紧将领导账户恢复,其反应一天邮件很少,本应该收到N个群组的来信,有些文件夹提示无权限!。才发现恢复账户后隶属组信息丢失。经过查询,未发现事后恢复群组信息的方法。 既然这样,干脆定期备份一次群组信息。
图片1.jpg
图片2.jpg

Import-Module ActiveDirectory
Get-ADUser -Filter {emailaddress -like "*@XXX.com"}|Format-Table Name >D:\Log\export_alluser_memberof\alluser.txt
$content= Get-Content D:\Log\export_alluser_memberof\alluser.txt
$users=$content.Trim()
ForEach ($user in $users)
{
$group=(Get-ADPrincipalGroupMembership -Identity $user).name
$result="$user is belong to $group " >>D:\Log\export_alluser_memberof\usergroup.txt
}

总结:
一、养成良好的备份习惯。此脚本定期执行即可,以后在恢复后可直接添加对应组。
二、网上的教程大多数是怎样恢复AD账号,但后续工作基本写的少之又少。我写的脚本只备份了群组信息,如果想做的完美,可以添加办公室 分机号等信息。一般来说,足矣!

感谢sima2004的热情回复,对于域、林结构均为08R2或以上的用户,可参照其文章恢复,恢复出的人员属xing(属xing也是敏感词- -!)信息都在。 ​​Windows Server 2008 AD R2 AD回收站恢复删除用户实战

邮箱业务往往是公司的重中之重,作为邮箱管理员,必须经常关注己方的出口IP是否被列入黑名单(Spamhaus),如已被列入,会造成终端用户发信被退回,此时须立即从此名单中取出并查明原因。每天上去看也挺麻烦的。写了个简单的小脚本供大家使用。

知识点1: ​​http://www.spamhaus.org/query/ip/1.1.1.1​​ IP换成你公司IP,绿色正常、红色异常。此194的IP说明已被列入CBL(图1)

知识点2: 知道区别就好办了,打开网页源代码,看到如下一行, <FONT color="red" 。那我们只要判断网页中是否含有这行就好(图2)
代码在最下方。每小时自动检核一次,有问题邮件报警。
图1.jpg

图2.jpg

$host.UI.RawUI.WindowTitle = "check_blacklist edit by xing_ji"
for (;;){
Start-Sleep -s 3600
$web1=(Invoke-WebRequest "http://www.spamhaus.org/query/ip/1.1.1.1").content
$web2=(Invoke-WebRequest "http://www.spamhaus.org/query/ip/2.2.2.2").content
if ($web1 -match '<B><FONT color="red">1.1.1.1' )
 {
 $msg1="1.1.1.1 in the blacklist,Pls check!"
 $msg2="2.2.2.2 in the blacklist,Pls check!"
 $ssr="relay.XXX.com"
 $from="[email protected]"
 $to="[email protected]"
 $cc="[email protected]" 
 $body="The ip address is being listed in the spamhaus blacklist.The mail is sent from SHVMMN01,which ip address is 10.101.13.15.For further infomation,please check with http://www.spamhaus.org"
 Send-MailMessage -Subject $msg1 -SmtpServer $ssr -From $from -to $to -cc $cc -Body $body
 }
 elseif ($web2 -match '<B><FONT color="red">2.2.2.2' )
 { Send-MailMessage -Subject $msg2 -SmtpServer $ssr -From $from -to $to -cc $cc -Body $body
 } }