Erwin Bierens

Knowledge is Power

Execution of Scripts is Disabled on this System

2017-03-07 1 min read Powershell Erwin Bierens

Execution of Scripts

When you try to run a powershell script on Windows, you may receive the following error stating that the execution policy on your computer does not allow you to run the script.

To fix this error, you must change the PowerShell execution policy for this computer.  These instructions will explain how to allow “Unrestricted” access to running scripts on your computer.

  1. To set the execution policy to unrestricted, enter the following command (PowerShell must be run as an Administrator):

    Continue reading

Powershell Backup Script

2017-02-10 3 min read Powershell Erwin Bierens

Backup Script

Needed a backup script which i can run from the powershell or with use of the Windows schedular. I’ve created some checks on folders and succesrate. The scripts also can email you when backup is succesful/failed. If you have any suggestions please let me know!

/

        ##################################### Backup Script ###############################################
        ## Name: Backup_Script.ps1                               
        ## Creator: Erwin Bierens                     
        ## CreationDate: 10-02-2017                               
        ## LastModified: 10-02-2017                                
        ## Version: 1.0
        ## Website: https://erwinbierens.com/powershell-backup-script
        ## 
        ## Description: Copies the Backupdir to the Destination folder
        ## Deviations will be written to logfile
        ## Only Change Variables in Variables Section  
        ##
        ## Thx to the followingg scripts i created this one, source information
        ## http://www.krist-online.nl/index.php/scripts/14-robocopy-powershell-wekelijks-backup-schema
        ## https://blog.sat.iit.edu/2011/11/backup-script-using-robocopy-and-powershell/
        ## 
        ##
        ## Example: powershell -command "& 'c:\temp\Backup_Script.ps1' "
        ## 
        ####################################################################################################
        
        ####################
        ##Variables Section
        ####################
        
        ## Source directory
        $source="C:\Temp\Backup\A"
        
        ## Destination Directory
        ## you can also use the network path "\\server\share"
        $destination="C:\Temp\Backup\B\"
        
        ## Destination Log File
        $logfile="c:\temp\backup\logbestand.txt"
        
        ## BackupRapport is being used to check if backup is succesfull
        $backupReport="c:\temp\logfile_backup.txt"
        
        ## Make changes for email reports
        $EmailFrom="backupscript@bierens.it"
        $EmailTo="erwin@bierens.it"
        $SMTPServer="192.168.178.32"
        
        ## Email Subjects and Body info
        $successEmailSubject="Backup Succesfull"
        $successEmailBody="The Backup is succesfull"
        $failEmailSubject="Backup Failed"
        $failEmailBody="The backup is failed, please check the attached log file"
        
        ## =========================================================
        ## =========== DONT CHANGE PARAMETERS BELOW ================
        ## =========================================================
        
        ## Check if destination exists, if no create folder
        if (!(Test-Path -path $destination))
        {
        New-Item $destination -type directory
        }
        
        ## robocopy command
        ## /XO Excludes older files.
        ## /COPY:DATSO Specifies the file properties to be copied. D Data, A Attributes, T Time stamps, S NTFS access control list (ACL), O Owner information
        ## /E /Purge Mirrors a directory tree
        ## /R:10 Specifies the number of retries on failed copies. The default value of N is 1,000,000 (one million retries)
        ## /log: Writes the status output to the log file (overwrites the existing log file). use /log+: for appending 
        ## /NP Specifies that the progress of the copying operation (the number of files or directories copied so far) will not be displayed.
        robocopy $source $destination *.* /XO /COPY:DATSO /E /purge /R:10 /log:$logfile /NP
        
        ## Check variables to compare source and destination
        $check_source = Dir $source
        $check_destination = Dir $destination
        
        ## Compare source and destination, write deviations to backup report 
        Compare-Object $check_source $check_destination -PassThru > $backupReport
        
        ## Create and send email after succesfull backup
        function sendSuccessEmail{
        send-mailmessage -from $EmailFrom -to $EmailTo -subject $successEmailSubject -body $successEmailBody -Attachments "$logfile" -priority High -dno onSuccess, onFailure -smtpServer $SMTPServer
        }
        
        ## Create and send email after unsuccesfull backup
        function sendFailEmail{
        send-mailmessage -from $EmailFrom -to $EmailTo -subject $failEmailSubject -body $failEmailBody -Attachments "$logfile" -priority High -dno onSuccess, onFailure -smtpServer $SMTPServer
        }
        
        ## If backupreport is empty, backup is succesfull send email
        $File = Get-ChildItem $backupReport
        if ($File.Length -eq 0) {sendSuccessEmail}
        
        ## If backup report is not empty, something is going wrong. Email will be send
        $File = Get-ChildItem $backupReport
        if ($File.Length -gt 0) {sendFailEmail}
        #EOF

Exchange 2016 Send Connector Ziggo

2016-12-27 2 min read Exchange Erwin Bierens

In order to send mail from your own mailserver (in this case Microsoft Exchange 2016) you’ll need to setup a send connector. In this tutorial i’ll show you how to configure this part.

Configure the Send Connector

Go to your Exchange admin center.

Go to Send Connectors and add a new connector.

Name the connector and select Internet and click next.

Select “Route mail through smart hosts”

Continue reading

CheatSheet Powershell

2015-10-11 1 min read Powershell Erwin Bierens

PowerShell CheatSheet!

Getting crazy from all the site’s on the internet for Powershell commands, combining these sites on this cheat page

Some randon cheat sheets on the internet

Newer posts