Simple Random Number Demonstration Script

I was delivering my session today at the Alpharetta (Atlanta) PFE Technology Day, and needed to come up with a good way to give away a free book to the class.  Right before class I threw a little script together to use the random number capabilities of PowerShell.  The script is below:



$rand = new-object random

$ofstudents = 50

for ($i=1;$i -le 100;$i++)


start-sleep -seconds 2


write-host "And the Winner Is!!!!!"

start-sleep -seconds 5

(new-object -comobject$([math]::Round($rand.NextDouble()*$ofstudents,0)))


The key piece here is the use of the object type "random" which is system.random and can be found in the MSDN .Net documentation (  Once the object is created, you use methods to actually get the numbers.  I have always like getting a decimal between 0 and 1 so that I can simply multiply it times the range I want to generate any number.  I am using the .NextDouble() method to get my numbers (  In this case I multiply it times the number of students and round off the number.  I do this 100 times and the 101 first random number is the winner.

I took this opportunity as well to use the old .Popup() method to created a little popup box for the winner display.  Like most of my posts, this is not rocket science here, but it was a fun little way to demo a simple PowerShell script that uses random numbers and an old COM object while giving away some SWAG…yes it was Ed Wilson’s PowerShell Step-By-Step book 🙂



This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at

Comments (0)

Skip to main content