Programaticly Spawn Powerups?

How can I programaticly spawn powerups? I need an example in c# of how to do this. My complete code is as follows:

using UnityEngine;
using System.Collections;
using System.Timers;

public class Random_Powerup_Generation : MonoBehaviour 
{
	private static Timer PowerupTimer;
	private int newPower;

	// Use this for initialization
	void Start () 
	{
		//randomize timer to int between 15000 and 45000
		double powerupInterval = Random.Range(15000,45000);
		//create timer
		PowerupTimer = new Timer(powerupInterval);
		//create the event for the timer
		PowerupTimer.Elapsed += new ElapsedEventHandler (CreateNewPowerup);
		//start timer
		PowerupTimer.Start();
		//Make sure it resets
		PowerupTimer.AutoReset = true;
	}

	// Update is called once per frame
	void Update ()
	{
		//random powerup
		newPower = 0; //Random.Range(0,2);
	}
	
	void CreateNewPowerup(object source, ElapsedEventArgs e)
	{
		//create new powerup
		
		switch (newPower)
		{
			case 0:
			break;
			case 1:
			break;
			case 2:
			break;
		}
	}
}

My powerups are in prefabs, and an example of a name is pre_HealthPowerup.

If your powerups are GameObjects, a simple Instantiate should work just fine. In this code:

Instantiate(powerup, spawnPos, spawnRot);

powerup is the GameObject to spawn (store it in a variable of your script)
spawnPos is the Vector3 position to spawn the powerup at
and spawnRot is the rotation you want the powerup to have when it is spawned