0213 | ให้ Windows Server ส่งเมลแจ้งเตือนเมื่อมี login

Thursday, July 30th, 2015 Posted in Windows Server | No Comments »

ทำแล้วก็จดไว้ครับ

ก่อนอื่นสร้าง powershell script เซฟไว้ซักที่ (สมมติ c:\scripts\email.ps1)

$message=Get-WinEvent -logname "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" -maxevents 10 | Where-Object {$_.Id -eq 21 -OR $_.Id -eq 25 } |Format-List -Property * | out-string -Width 100
send-mailmessage -to EMAIL@EXAMPLE.COM -Subject "Login Event on " -SmtpServer mail.domain.com -From db1@warz.extreme.co.th -Body $message

เตรียม smtp server ให้เรียบร้อยด้วยนะครับ

แล้วไปที่ task scheduler กด create task หน้าแรกกรอกประมาณนี้

c-102458

แล้วไปที่หน้า Trigger กด New แล้วกรอกประมาณนี้ (ช่อง Event Log นั่น กรอก Microsoft-Windows-TerminalServices-LocalSessionManager/Operational นะครับ)

c-102403

แล้วไปที่หน้า Action กด New กรอกประมาณนี้

c-102438

เสร็จแล้วกด OK ออกไป มันจะถามรหัสผ่าน windows ทีนึงก็ใส่ให้เรียบร้อย จบ :)

Tags: , , ,

0207 | Mount Network Drive อัตโนมัติตอนเปิดเครื่อง

Monday, May 11th, 2015 Posted in Web Server | No Comments »

อันที่จริงมันจะไม่ใช่เรื่องยากเลยครับ ถ้า mount ปกติเราสามารถจิ้มคลิกเอาบน my computer ได้เลยก็จริง แต่ด้วยสิทธิ์การใช้งานบน windows มันแยกเป็นหลายระดับมาก ประมาณนี้

  • Local user
  • Administrator
  • System Service

แล้วสิทธิ์การเข้าถึง network drive ของแต่ละระดับก็เป็นคนละตัวกัน เช่นตอน mount เราสั่งใน local user (จิ้มคลิกใน explorer ปกติ) เวลา elevated เป็น Administrator แล้วมันจะหา path ไม่เจอ (ฮ่วย)

แล้วก็ software server ปกติเราจะรันเป็น system service ถ้าต้อง access network drive มันจะหา path ไม่เจอ เพราะต้อง mount ด้วย system service ถึงจะเจอ (จะบ้าตาย) แล้วการ mount เป็น system service ไม่สามารถเซฟรหัสผ่านได้ (หรือเซฟได้แต่ทำผิดก็ไม่รู้) ก็เลยต้องมีทริคกันนิดหน่อยครับ ด้วย PowerShell

$User = “SERVER\username”
$PWord = ConvertTo-SecureString –String “**************” –AsPlainText -Force
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
New-PSDrive -Name Z -PSProvider FileSystem -Root “\SERVER\SHAREPATH” -Credential $Credential

เซฟไอ้ด้านบนนี้เป็นไฟล์ชื่อ mount.ps1 ไว้ใน c:\ แก้ไข username, ***, SERVER\SHAREPATH ให้เรียบร้อย แล้วเปิด Group Policy Editor (run > gpedit.msc) แล้วเข้าตามนี้

group policy editor

double click “Startup” ด้านขวา แล้วกดเข้าหน้า power shell แล้วกรอกตามนี้

add script

จบ

เกลียดแม่ง !

Tags: , ,