Hi,
This script is to encrypt drive in Bitlocker
please provide following details in the script
Drive="D:" ##Enter the Drive you want to encrypt
save="C:" ##Enter the Drive you want to save the recovery key
The Recovery key will be Sent to Email
Note:
You cannot decrypt the drive without using the Recovery key.
Run as system user
#To define a particular parameter, replace the 'parameterName' inside itsm.getParameter('parameterName') with that parameter's name
Drive=itsm.getParameter('Drive') ##Enter the Drive you want to encrypt eg: D:
emailto=itsm.getParameter('EmailTo') ## Provide an Toemail address where the mail need to be sent.You can also provide any number of To eamil address For example: ['varun@yopmail.com', xxxx@yopmail.com]
emailfrom=itsm.getParameter('EmailFrom') ## Provide the From Email address from which the mail to be send
password=itsm.getParameter('Password') ##Provide password for from email
smtpserver='smtp.gmail.com'
port=587
import os,sys,shutil,re,sys,socket,_winreg,random,getpass
from datetime import date, datetime
import socket
import smtplib
import mimetypes
from email.mime.multipart import MIMEMultipart
from email import encoders
from email.message import Message
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
def computername():
return os.environ['COMPUTERNAME']
def ipaddress():
return socket.gethostbyname(socket.gethostname())
subject='%s %s Alert : Bitloker Recovery Key for Drive %s!!!!!'%(computername(), ipaddress(), Drive)
def emailreport(subject, emailto,emailfrom,password,smtpserver,port,msgbody):
msg = MIMEMultipart()
msg["From"] = emailfrom
msg["To"] = ",".join(emailto)
msg["Subject"] = subject
msg.preamble = subject
body = MIMEText(msgbody)
msg.attach(body)
try:
server = smtplib.SMTP(smtpserver,port)
server.ehlo()
server.starttls()
server.login(emailfrom, password)
server.sendmail(emailfrom, emailto, msg.as_string())
server.quit()
return " \nThe email report has been sent to "+msg["To"]
except Exception as e:
return e
import ctypes
import re
import os
class disable_file_system_redirection:
_disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
_revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
def __enter__(self):
self.old_value = ctypes.c_long()
self.success = self._disable(ctypes.byref(self.old_value))
def __exit__(self, type, value, traceback):
if self.success:
self._revert(self.old_value)
import subprocess
save="C:" ##Enter the Drive you want to save the recovery key
path = 'C:\\Windows\\System32\\manage-bde.exe -status '+Drive
with disable_file_system_redirection():
process=subprocess.Popen((path),shell=True,stdout=subprocess.PIPE);
result=process.communicate()[0]
protect=re.findall("Lock Status: (.*)",result)
pro="".join(protect)
y=[]
xx=[]
k=[]
if "Unlocked" in pro:
print "Drive "+Drive+" is now in locked state"
ps_command=r'manage-bde -on '+Drive+' -RecoveryKey '+save+' -RecoveryPassword'
with disable_file_system_redirection():
c=os.popen('powershell "%s"'%ps_command).read()
y=c.split('\n')
for i in range(len(y)):
if re.findall('ACTIONS REQUIRED:(.*)',y[i]):
j=i
for yy in y[j:]:
k.append(yy)
msgbody = ''
for i in k:
print i
msgbody += i + '\n'
if k:
print emailreport(subject,emailto,emailfrom,password,smtpserver,port,msgbody)
Comments