PowerShell

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

Microsoft Windows Security Audit Event Accesses IDs

I’m working on a powershell script extracting the file server audit log and creating a human readable html out of it when I got stumbled by the beautiful codes below (which are really hard to find) and decided that they deserve a re-post. Thanks to this guy for translating them. The list below is from WinXP, there are more codes in the newer windows versions, however, these are still valid. Here is the link to the TechNet post. BTW the Resource Hacker  still works and you can use it to extract the codes from %windir%\system32\msobjs.dll . Please note that you’ll have to translate them from HEX to decimal to receive the values you got from the… Read More »Microsoft Windows Security Audit Event Accesses IDs

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

PowerShell TimeZone, Date and So On

If someone ever wondered how to change time, timezone or date in a powershell session or in a core server here is how. If today is 27 May 2017 and we want to set the clock to 16:12: Set-Date -Date “5/27/2017 16:12” More on this here. If only the timezone needs to be changed lets say to Central European: Set-TimeZone -Id “Central European Standard Time” List of all time zones could be obtained in powershell with the following command (Thank you scriptingguy you are priceless): [System.TimeZoneInfo]::GetSystemTimeZones()    

SharePoint 2013 Instalation Tips

Studying for SharePoint 2013 exam, I’ve decided to install it in my lab and as usual I had some issues. I was thinking to use SQL server on premises used for SCCM 2012 R2 test lab, but it is 32-bit, therefore, unusable. Due to the limited resources (You know, RAM goes first) I ended installing 64-bit SQL Server 2012 SP1 on the same server (standard 2012 R2) side-by-side with 32-bit SQL. It’s not the best practice, but it is OK for a constantly changing test lab. Installation was pretty straight forward, all prerequisites were already installed and in minutes 64-bit SQL server was in place. I have two pre-created domain accounts sqladmin and spsservice used… Read More »SharePoint 2013 Instalation Tips