Archive for the ‘Windows Server’ Category

0226 | MS Exchange : CryptographicException: Invalid provider type specified

Wednesday, August 2nd, 2017 Posted in Windows Server | 1 Comment »

There’s issue when installing/renewing a certificate to MS Exchange.

System.Security.Cryptography.CryptographicException: Invalid provider type specified

This is the explaination (reference: MS Technet > exchange server 2013 > Unable to access ECP/OWA)

The basic problem is that the Exchange code cannot properly handle X.509 certificates signed with the new and mighty Microsoft Software Key Storage Provider (which is kind of funny)

To fix this, do the following step:

  1. Export the certificate as ‘pfx’ file then remove it from the certificate store.
  2. Open ‘Exchange Management Shell’
  3. Type command certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx c:\path\to\certificate.pfx note to change ‘c:\path\to\certificate.pfx’ to the path of your certificate exported from step 1.
  4. Type certutil -store my, (see sample output below) Check if the ‘Provider = ‘ line is ‘Microsoft RSA SChannel Cryptographic Provider’. Copy the hash after ‘Cert Hash(sha1):’
  5. Enable the certificate for Exchange. Type Enable-ExchangeCertificate -thumbprint "00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 01 23 45 67" -Services "iis,pop,imap,smtp"
  6. Restart IIS.
Serial Number: ************
Issuer: CN=WMSvc-***
 NotBefore: 12/24/2014 7:18 PM
 NotAfter: 12/21/2024 7:18 PM
Subject: CN=WMSvc-***
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 01 23 45 67
  Key Container = WMSvc Certificate Key Container
  Unique container name: *******************************************
  Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed


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 -From -Body $message

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

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


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


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


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

Tags: , , ,