If you've read very much of my blog, you'll know that I'm a big fan of the annual Scripting Games, where challenges are set for beginners and advanced scripters, to be solved in PowerShell. The reason I like this event so much, apart from enjoying a challenge, is that it's an excellent way to learn, regardless of your level of proficiency.
The great thing about the Scripting Games is that you can have a go at solving each problem and then see an expert solution to compare your efforts with. Even if you're really competing at the advanced level, you're likely to learn something from that, and if you're just a beginner, then there's no better way to learn that to try to solve a problem and being shown by an expert the best way to do it.
The 2013 event kicks off today, and I strongly recommend you take part if you have the time. If you don't have time to do it right now, then there's nothing stopping you having a go after the competition has ended - just make sure that you give the challenges a try before you look at the expert solutions.