About jfrmilner

This blog will be my online scrapbook of problems, solutions and tips that I discover in my work as an IT Professional. My clients and colleagues have always suggested that I share some of my ideas and findings, this is my attempt at making that information available.

About me:

An accomplished IT professional with extensive experience with classic, virtualised and cloud data centres. I have a proven track record for delivering large scale complex project design and implementation. I possess a broad skill set covering the vast majority of core infrastructure technologies with a focus on Microsoft Cloud, Virtualisation and Storage.

• Microsoft Office 365 – Azure AD Connect, Active Directory Federation Services (AD FS), Remote/Hybrid/Staged Exchange Online Migrations (MigrationWiz)
• Strong interpersonal and communication skills
• Infrastructure-as-a-Service (IaaS)
• VMware Enterprise vCloud Suite – VMware vCloud Director, vSphere, vCenter
• Server Hardware – Cisco Unified Computing System (UCS), HP, Dell
• Diligent team player with a positive work ethic
• SAN/Unified Storage – EMC VNX, Datadomain, Dell Compellent
• Microsoft Infrastructure – Active Directory (Forest Migration & Transitions), Exchange, SQL, Hyper-V, Clustering
• Programming/Coding/Scripting – JavaScript, PowerShell, RESTful API, Automation, JSON – https://github.com/jfrmilner
• Strong initiative and self-management
• Messaging – MIMEsweeper for SMTP, McAfee Email Gateway (formerly IronMail)
• Veeam Backup/Replication/Disaster Recovery data management for virtual, physical and multi-cloud infrastructures

Additionally, I spend some of my spare time helping others on discussion forums, social media site twitter and writing articles for this Tech Blog. On this blog I document solutions to interesting technical issues and may even write about my hobbyist interest of micro-controllers and electronics.

I’ll try and post as frequently as I can and with information that will help others in the IT community

Kind Regards,

John Milner (jfrmilner)
Technical Consultant/Architect













Backup Academy Certified

  1. Not sure if you can help but I might ask:

    We are in the middle of migrating our file shares off a NetWare environment and onto a CIFS/Windows environment. We are using the Quest NDS Migrator tools to complete this so we can keep details about each file, date, owner, last accessed.

    One thing that differs between NetWare and Windows is the way rights are achived. for example; if I have a directory structure that is 5 directories deep, \folder1\folder\2folder3\folder4\folder5 and give a group full control to folder5, within NetWare it knows that the group will need the traverse right to the above 4 directories. In Windows this is not the case, we need to add the group to each of the above directories and give the traverse right.

    My question is; do you have a powershell script that could complete the traverse rights for a given directory. This way we can keep the same folder structure that we have in our current NetWare environment.

    This would save a lot of time and effort. Any help would be greatly appericated.


  2. This might be the extact script we are after. Thanks heaps for bookmarking it and sharing the link.


  3. Edmond. says:

    hope you all can help me Please.

    i have a number of text files in a folder . i need a script that can search for a pattern within the text file and give me as output the enitire text in that line that is found wit that pattern.

    example. if line 10 in the text file contains “CUSTUMER” it will out put all text in line 10 and i want it to print one line above. so it will print line 9 also.

    this is what i have so far my script works but its only printing the line with the pattern i want to print the line above. so if the patttern is in line 10 . i want it to print line 9.

    Please for your help i am new to power shell.

    $StartDate = get-date
    $EndDate = get-date

    Get-ChildItem ‘C:\Users\D0NTEZ\Desktop\Script\integration\storage’ -Recurse | Where-Object {($_.LastWriteTime.Date -ge $StartDate.AddDays(-2)) -and
    ($_.LastWriteTime.Date -le $EndDate.Date)} | Copy-Item -Destination ‘C:\Users\D0NTEZ\Desktop\Script\integration\temp’

    Select-String C:\Users\D0NTEZ\Desktop\Script\integration\temp\*.txt -pattern “ustomer”| ConvertTo-Html | Set-Content C:\Users\D0NTEZ\Desktop\Script\integration\output\LogData.html

    • jfrmilner says:


      The Select-String cmdlet has a Context parameter that should enable you to do what you need, for further details please run this command “help Select-String -Parameter Context”.

      Hope this helps,


  4. Josiran Francisco Silva says:

    iHi Dear jfrmilner,

    my name is Josiran i am from Brazil, i read your post about Arduino Power Socket Control (Web Server) for home automation, i liked so much, i am engeneer Control and automation student, you should me send this project to me read, because my final project its smart pdu i think your project similar i wil try to do.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s