powershell

Lazy Exchange On-Premises Mailbox Creator

One of the ways to use shared mailbox with exchange is to grant “Full Access” and “Send As” access through security group. With the latest exchange security group must be universal and mail enabled. Recently I had to create bunch of mailboxes and found the process… repeating and boring, then I decided that there must be a way to automate it, since it is repeating the same thing again and again. The end result is the following script/form – what it does in short is: Creates Security Group and Mail Enable it Creates Shared Mailbox (could be done only through PowerShell) in preselected Active Directory OU – for both ,mail group and mailbox In preselected… Read More »Lazy Exchange On-Premises Mailbox Creator

Get size of all items in current path

I was looking for an easy way to get the size of all user profiles folder through PowerShell and found this woshub and inspired by it ended with the following function which measures the size of everything in current path if used without parameter. Made it a function just to be able to autoload it. It’s nothing special, however, it’s surprisingly useful 🙂 If you want folders only it will be: The only difference is Where-Object { $_ -is [io.directoryinfo] }. To switch to Megabytes replace Gb with Mb. Works with PowerShell 3/4/5/6/7.

SCCM – Change Site Code on multiple computers

If you had to change the sccm client site code on multiple computers (after sccm migration or new/upgraded server installation) nowadays you might have discovered that it’s not as easy as it should be. You could push the new site client to all computers generating a lot of heat to the network or try deprecated wmic (miserably fails). I wanted to avoid mass client push and found that the following quick and dirty script works well: First create a list of all computers using your favorite method, I already have a text file with them so I’ll just use it, it’s named mycomps.txt and it is in my current folder.

PSWriteHTML is awesome

Recently I was playing with the excellent PSWriteHTML powershell module and ended up creating a dashboard from events. Since I had a hard time going through all of the dashboard option, I’ve decided to share what I did, may be it will help someone. The example script requires PSWriteHTML module installed. Event properties I got from here, don’t know is this the original author, anyway, I wish all good to the author, whoever he is! I do not pretend this is the best code ever, however, IMHO it is doing the job right, It works out of the box, just adjust server names ($srv), taking the reboots for the last 30 days with max events… Read More »PSWriteHTML is awesome

PowerShell HTML System Report

I’ve been playing with HTML in PowerShell and ended creating not so bad script including function that creates HTML report with system info for a remote computer/server. In includes Operating System, CPU, Memory and Hard Disk, CD-Rom Info which are exported to a html file. It’s not a piece of art, have some basic error suppression, but if someone needs some info quickly it will do the job. Enjoy and leave me a comment if you need help using the script. Special thanks to Ansgar Wiechers and StackOverflow How to use: From the script folder (start powershell as admin) The entire package can be downloaded from the link below: Get-SystemReport

Install Primary and Additional Domain Controller With PowerShell Cheat Sheet

# # Windows PowerShell script for AD DS Deployment #Do no forget to rename the computer, set static IP, enable remote desktop if needed and so on # Install-WindowsFeature AD-Domain-Services Install-ADDSForest ` -CreateDnsDelegation:$false ` -DatabasePath “C:\Windows\NTDS” ` -DomainMode “Win2012” ` -DomainName “domain.name.com” ` -DomainNetbiosName “DOMAIN” ` -ForestMode “Win2012” ` -InstallDns:$true ` -LogPath “C:\Windows\NTDS” ` -NoRebootOnCompletion:$false ` -SysvolPath “C:\Windows\SYSVOL” ` -Force:$true #Add Secondary DC # # Do not forget to rename the computer first Rename-Computer -NewName whatever #Set Static IP and DNS #Could be done with interface index as well #get-wmiobject win32_networkadapter | select netconnectionid, name, InterfaceIndex, netconnectionstatus #netconnection status 2 gives us only connected adapters 🙂 New-NetIPAddress -InterfaceAlias Ethernet -IPAddress YOURSERVERIP  -DefaultGateway GATEWAYIP -AddressFamily IPv4… Read More »Install Primary and Additional Domain Controller With PowerShell Cheat Sheet