Job Listing in Atlanta: System Engineer

23 06 2010

We are posting this as a service to our listeners in this challenging economy. If you are interested, please see contact instructions below.

We are seeking an experienced systems engineer to join a team of intelligent, hard-working individuals who are passionate about technology and focused on delivering top-notch service to their customers.  This Atlanta based team is responsible for supporting a sales team out in the field around the US.  As new applications are developed and are ready for the market this team is responsible for the planning, coordination, development, configuration, and support of new products on 340 servers (300 are virtual).  In addition, this team is responsible for designing and developing training manuals, system specifications, architectural diagrams, test procedures etc.
What skills do you need to succeed in this role?  A strong background with Windows 2003/2008 Server from an administration standpoint, solid skills with SQL Server 2008, and strong Powershell skills.  Any experience with Citrix or VMWare is a huge plus.
To discuss this phenomenal opportunity please contact Rebecca Hoke at 678-242-1353 or r.hoke AT aquesst.com





Episode 116 – Master Debugger John Robbins

21 06 2010

A Podcast about Windows PowerShell.
Listen:

In This Episode

Tonight on the PowerScripting Podcast we talk to John Robbins about Debugging!

News

PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.  Visualize, Extend and Reuse PowerShell scripts and easily leverage the efforts of your domain experts.  You can download a 30-day trial today at PowerWF.com


Interview

Before you acquire power, you must acquire knowledge – and Quest Software has what you need! In Jeffery Hicks’ e-book, “Managing Active Directory with Windows PowerShell,” learn how PowerShell helps you master local accounts and groups, password management, security and permissions and much, much more. You’ll also learn about the PowerShell extras and out-of-the-box features that will help you control Active Directory. Don’t wait – visit quest.com/powershellbook to register for your free copy or quest.com/powerguipro and see why PowerShell and Quest PowerGUI are the ultimate Windows management tools.

Links:

Questions:

  • 10:11 glnsize: ## So from a hardcore windows debuger/perf guy… What pitfalls / best practices do you preach for powershell?
  • 10:24 finked: ## Any thoughts on what PowrShell needs or the direction it should take?
  • 10:25 Jaykul: ## most useful parts of powershell for developers.
  • 10:29 glnsize: ##  So what is the use case for write-debuge… I use write-verbose/break points.  How should / Could I use the degug pipeline.
  • 10:38 Jaykul: ## So, in the real world, how do you see developers using PowerShell?
  • 10:40 Jaykul: ## TFS eh? Do you see many people doing build scripts?

Superhero: The Flash

Resources


This segment is brought to you by SAPIEN Technologies

Tips


This segment is brought to you by Serverfault.com!





Episode 115 – Glenn Sizemore on TechEd 2010

14 06 2010

A Podcast about Windows PowerShell.
Listen:

In This Episode

Tonight on the PowerScripting Podcast we talk to Glenn Sizemore about TechEd 2010!

News

Before you acquire power, you must acquire knowledge – and Quest Software has what you need! In Jeffery Hicks’ e-book, “Managing Active Directory with Windows PowerShell,” learn how PowerShell helps you master local accounts and groups, password management, security and permissions and much, much more. You’ll also learn about the PowerShell extras and out-of-the-box features that will help you control Active Directory. Don’t wait – visit quest.com/powershellbook to register for your free copy or quest.com/powerguipro and see why PowerShell and Quest PowerGUI are the ultimate Windows management tools.


Interview

PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.  Visualize, Extend and Reuse PowerShell scripts and easily leverage the efforts of your domain experts.  You can download a 30-day trial today at PowerWF.com

Links

Superhero: Batman

Resources


This segment is brought to you by SAPIEN Technologies.

Tips


This segment is brought to you by Serverfault.com!






Up Next: John Robbins talks about PowerShell for Developers and Debugging

14 06 2010

I’m sure the dev side of the house is going to be excited because they already know who our next guest is—and the IT side needs to listen up because debugging is important for them too!

Here’s a bit about John from his website:

John Robbins is a cofounder of Wintellect, where he heads up the consulting and debugging services side of the business. He also travels the world teaching his Mastering .NET Debugging and Mastering Windows Debugging courses so that developers everywhere can learn the techniques he uses to solve the nastiest software problems known to man. As one of the world’s recognized authorities on debugging, John takes an evil delight in finding and fixing impossible bugs in other people’s programs.

John is based in Seattle, WA, where he lives with his wife, Pam, and the world-famous debugging cats, Chloe and Gracie. In addition to being the author of the books Debugging Microsoft .NET and Windows Applications (Microsoft Press 2003), Debugging Applications (Microsoft Press, 2000), and Debugging Microsoft .NET 2.0 Applications (Microsoft Press 2006), John is a contributing editor for MSDN Magazine, where he writes the Bugslayer column. He regularly speaks at conferences such as Devscovery, Tech-Ed, VSLive, and DevWeek.

Please join us live this week on Ustream! Thursday the 17th, 9:30 PM EDT as always!





Episode 114 – Ryan Dunn on Azure and PowerShell

6 06 2010

A Podcast about Windows PowerShell.

Listen:

In This Episode

Tonight on the PowerScripting Podcast we talk to Ryan Dunn about managing Azure with PowerShell!

    News

    PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.  Visualize, Extend and Reuse PowerShell scripts and easily leverage the efforts of your domain experts.  Get a live demo and meet the PowerWF development team at Tech-Ed.  Or download a 30 day trial today at PowerWF.com


    Interview

    Before you acquire power, you must acquire knowledge – and Quest Software has what you need! In Jeffery Hicks’ e-book, “Managing Active Directory with Windows PowerShell,” learn how PowerShell helps you master local accounts and groups, password management, security and permissions and much, much more. You’ll also learn about the PowerShell extras and out-of-the-box features that will help you control Active Directory. Don’t wait – visit quest.com/powershellbook to register for your free copy or quest.com/powerguipro and see why PowerShell and Quest PowerGUI are the ultimate Windows management tools.

    Links

    Questions

    • <xcud> ## what services does msft dogfood on azure? hotmail, exchange online, etc?
    • <marcoshaw> ## does ryan see much use for powershell *in* the cloud versus using powershell to simply manage the service from a desktop/client.
    • <xcud> ## are there any plans to have the system center apps manage/monitor azure apps side-by-side with internal apps?
    • <finked> ## Reading Programming Windows Azure. Any other book recommendations?
    • <Toshana> ##Does Azure support Java?
    • <marcoshaw> ## does he share his scripts like the PDC one?  the bootstrapper?
    • <marcoshaw> ## a windows azure powershell provider?
      • There is a blog storage provider sample out there
    • <finked> ## Will the Azure cmdlets work with MSBuild 4.0?
    • <marcoshaw> ## does ryan think this could eventually become “official”?
      • Maybe

    Superhero: Spiderman

    Resources


    This segment is brought to you by SAPIEN Technologies.

    Tips

    This segment is brought to you by Serverfault.com!





    A look at PowerShell jobs – Part 1

    3 06 2010

    One of the cool new features of PowerShell v2 is remoting. We’ve talked about it several times on the podcast and it is a huge topic with many facets. One piece of PowerShell remoting is the ability to create jobs. PowerShell jobs are kicked off locally or on remote machines and exist in their own independent runspaces. This allows you to do things like running tasks in parallel to improve efficiency. Traditionally, in PowerShell if you want to perform an action on a list of servers (for example) you loop through the servers one at a time and you have to wait until the task is finished on the 1st server before it starts on the 2nd server and so it progresses in a serial fashion. Jobs allow you to run these tasks simultaneously.

    The job related cmdlets in PowerShell v2 are these:

    • Start-Job
    • Stop-Job
    • Get-Job
    • Wait-Job
    • Receive-Job
    • Remove-Job

    I am not going to focus on the ins and outs of these cmdlets but I will be using all of them in one way or another during this blog post series.

    I’m fascinated by the prospect of using jobs to make my scripts more efficient but my road to learning has been bumpy. I haven’t seen anything yet that talks about jobs in the depth I’ve needed so I want to start the ball rolling and share my findings.

    I have found that it’s important to remember that each job runs in it’s own independent runspace. I’ve been trying to drill this into my own head and here are some consequences of that fact. Unless you take some steps we’re going to discuss later your job will not have access to:

    • Anything in your profile
    • Any snap-ins or modules you have loaded
    • Any functions you have “loaded”
    • Any variable from any scope (local, global etc.)
    • Other things I haven’t run into yet?

    A job has no concept of it’s context or environment. Any information you need for your job to do it’s job has to be loaded.

    I have a script that I run periodically that deletes old user profiles from a group of virtual desktops. It takes a long time to run because it has to delete hundreds of files off of each virtual desktop. I decided I would try to use jobs to speed this up. So I wanted to create a job for each virtual desktop that would delete the correct folders for that particular desktop so I could delete files off of my virtual desktops simultaneously.

    This is where I hit my first snag. How do I get my list of directories into the job? I looked at the help file for the Start-Job cmdlet and tried to find an example where information in a variable is passed to a job. No luck there. On to the parameter list I went. The one that looked the most promising to me was the –InputObject parameter. This is what the help says:

    Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.

    In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.

    Cool, that looked like it would do the trick for me. Now to build a job…

    A PowerShell job can have various parts (some of which we’ll get to) but the first one we need to talk about is the –ScriptBlock parameter. It does just what you think it does. It’s where the code goes that you want to run in your job. So let’s build a simple example that uses –InputObject and –ScriptBlock.

    $list = 1..5
    Start-Job -InputObject $list -ScriptBlock {$list}

    Unfortunately, it doesn’t work that way. If you look at the documentation above from the help file it says use the $input automatic variable. Let’s give that a try.

    $list = 1..5
    Start-Job -InputObject $list -ScriptBlock {$input}
    Wait-Job *
    Receive-Job *
    Remove-Job *

    Here’s the output:          
    1

    2

    3

    4

    5

    In case you were wondering “Wait-Job *” waits for all existing jobs to complete before continuing. “Receive-Job *” will receive the output from all jobs (that have any output.) You guessed it! “Remove-Job *” removes all existing jobs. 

    Sweet! We’re in business. Or at least that’s what I thought until I started to do some actual work. This does what I would expect…

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock {$input}
    wait-job *
    receive-job *
    remove-job *

    Returns:

    PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Users\e42793\.imindmap

    PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\Users\e42793

    PSChildName       : .imindmap

    PSDrive           : C

    PSProvider        : Microsoft.PowerShell.Core\FileSystem

    PSIsContainer     : True

    Mode              : d—-

    Name              : .imindmap

    Parent            : e42793

    Exists            : True

    Root              : C:\

    FullName          : C:\Users\e42793\.imindmap

    Extension         : .imindmap

    CreationTime      : 3/30/2009 10:18:08 AM

    CreationTimeUtc   : 3/30/2009 2:18:08 PM

    LastAccessTime    : 12/1/2009 10:23:12 AM

    LastAccessTimeUtc : 12/1/2009 3:23:12 PM

    LastWriteTime     : 12/1/2009 10:23:12 AM

    LastWriteTimeUtc  : 12/1/2009 3:23:12 PM

    Attributes        : Directory, NotContentIndexed

    PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Users\e42793\B35ABFD8A0A842348EC0B194B2098055.TMP

    PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\Users\e42793

    PSChildName       : B35ABFD8A0A842348EC0B194B2098055.TMP

    PSDrive           : C

    PSProvider        : Microsoft.PowerShell.Core\FileSystem

    PSIsContainer     : True

    Mode              : d—-

    Name              : B35ABFD8A0A842348EC0B194B2098055.TMP

    Parent            : e42793

    Exists            : True

    Root              : C:\

    FullName          : C:\Users\e42793\B35ABFD8A0A842348EC0B194B2098055.TMP

    Extension         : .TMP

    CreationTime      : 3/20/2009 11:21:54 AM

    CreationTimeUtc   : 3/20/2009 3:21:54 PM

    LastAccessTime    : 12/1/2009 10:23:21 AM

    LastAccessTimeUtc : 12/1/2009 3:23:21 PM

    LastWriteTime     : 12/1/2009 10:23:21 AM

    LastWriteTimeUtc  : 12/1/2009 3:23:21 PM

    Attributes        : Directory, NotContentIndexed

    Etc. Etc. You get the idea. What I really need though is the FullName property. This is where things get weird. Check this out:

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock{$input | foreach {$_.Fullname}}
    wait-job *
    receive-job *
    remove-job *

    Returns nothing from the job. Crazy. So what is $_? I would expect it to be a DirectoryInfo object. Let’s check it out.

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock {$input | foreach {$_.gettype()}}
    wait-job *
    receive-job *
    remove-job *

    Returns:

    RunspaceId                : 8d57fad2-dfc1-4895-a986-6ea6b53ffc8d

    Module                    : CommonLanguageRuntimeLibrary

    Assembly                  : mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

    TypeHandle                : System.RuntimeTypeHandle

    BaseType                  : System.Object

    UnderlyingSystemType      : System.Collections.ArrayList

    FullName                  : System.Collections.ArrayList

    AssemblyQualifiedName     : System.Collections.ArrayList, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

    Namespace                 : System.Collections

    I cut out the rest of the output but you can see that $_ is an array. Well, if $_ is an array than what was $input?

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock {$input.gettype().Fullname}
    wait-job *
    receive-job *
    remove-job *

    Returns:

    System.Management.Automation.Runspaces.PipelineReader`1+<GetReadEnumerator>d__0[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

    That’s cute, so if I pipe $input to something I get an array. Maybe this will work…

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock {$input | %{$_} | %{$_.fullname}}
    wait-job *
    receive-job *
    remove-job *

    Returns:

    C:\Users\e42793\.imindmap

    C:\Users\e42793\B35ABFD8A0A842348EC0B194B2098055.TMP

    C:\Users\e42793\Bluetooth Software

    C:\Users\e42793\Contacts

    C:\Users\e42793\Desktop

    C:\Users\e42793\Documents

    C:\Users\e42793\DownloadDirector

    C:\Users\e42793\Downloads

    C:\Users\e42793\Favorites

    C:\Users\e42793\Links

    So that worked but it’s got to be one of the strangest work-arounds I’ve done. There is at least one other way to get around this problem and it looks like this:

    $list = Get-ChildItem | Select -First 10
    Start-Job -InputObject $list -ScriptBlock {$Input.'<>4__this'.read() | %{$_.fullname}}
    wait-job *
    receive-job *
    remove-job *

    Returns the same output as the code above. This solution was sent to me by Robert Robelo and I’ll let him explain it to you.

    That’s all I’ve got for part 1. I can’t say for sure when I’ll have part 2 finished but we’ll mention it on the podcast if you are a listener.

    -Jonathan Walz





    Up Next: Ryan Dunn Talks about Azure

    3 06 2010

    We are looking forward to this week’s interview with Ryan Dunn. Ryan caught our eye as the author of the Codeplex projects Windows Azure Management  Tool, and the Windows Azure Service Management Cmdlets. Please join us today at 9:30 EDT on our Ustream channel if you’d like to be a part of the discussion!

    Here’s a bit more about Ryan from his ch9 profile:

    Ryan Dunn is the Windows Azure Technical Evangelist and produces the “Cloud Cover” Channel 9 show. Prior to joining Microsoft, Ryan was an MVP for ASP.NET and Directory Services.





    This Week: Jeff Hicks is Live in Studio!

    26 05 2010

    We are pleased to be having Jeff Hicks live in the studio during tomorrow’s PowerScripting Podcast live stream on Ustream. Also note that we plan on starting a little bit early at 9pm.

    This should be a great show. As many of you know, Jeff is the author of Managing Active Directory with Windows PowerShell: TFM®, and the co-author of Windows PowerShell v2.0: TFM, not to mention his monthly column in Redmond Magazine.

    As always, we encourage you to show up for the live stream. You get to interact with the guest and your fellow listeners and everyone has a great time.

    Date: 5/27/10

    Time: 9:00 PM EDT

    Location: http://www.ustream.tv/channel/powerscripting-podcast

    See you there!





    Episode 113 – MVP Brandon Shell Talks Citrix and Other PowerShell Goodness

    24 05 2010

    A Podcast about Windows PowerShell.

    Listen:

    In This Episode

    Tonight on the PowerScripting Podcast we talk to Brandon Shell about Citrix!

    News

    PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.  Visualize, Extend and Reuse PowerShell scripts and easily leverage the efforts of your domain experts.  Get a live demo and meet the PowerWF development team at Tech-Ed.  Or download a 30 day trial today at PowerWF.com


    Interview

    Before you acquire power, you must acquire knowledge – and Quest Software has what you need! In Jeffery Hicks’ e-book, “Managing Active Directory with Windows PowerShell,” learn how PowerShell helps you master local accounts and groups, password management, security and permissions and much, much more. You’ll also learn about the PowerShell extras and out-of-the-box features that will help you control Active Directory. Don’t wait – visit quest.com/powershellbook to register for your free copy or quest.com/powerguipro and see why PowerShell and Quest PowerGUI are the ultimate Windows management tools.

    Links

    Questions

    • <makson> ##Workshifting = to same comcept as a “Vmotion”? Shifting the full session contents to another physical machine??
    • <ChadMiller> My Linux co-worker keeps talking about KVM where does this fit in
    Resources

    This segment is brought to you by SAPIEN Technologies.

    Tips

    This segment is brought to you by Serverfault.com!





    Episode 112 – Scripting Games 2010 Roundup with Ed Wilson and Joel Bennett

    17 05 2010

    A Podcast about Windows PowerShell.

    Listen:

    In This Episode

    Tonight on the PowerScripting Podcast we talk to Ed Wilson and Joel Bennett for a Scripting Games roundup!

    News

    Before you acquire power, you must acquire knowledge – and Quest Software has what you need! In Jeffery Hicks’ e-book, “Managing Active Directory with Windows PowerShell,” learn how PowerShell helps you master local accounts and groups, password management, security and permissions and much, much more. You’ll also learn about the PowerShell extras and out-of-the-box features that will help you control Active Directory. Don’t wait – visit quest.com/powershellbook to register for your free copy or quest.com/powerguipro and see why PowerShell and Quest PowerGUI are the ultimate Windows management tools.


    Interview

    PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.  Visualize, Extend and Reuse PowerShell scripts and easily leverage the efforts of your domain experts.  Get a live demo and meet the PowerWF development team at Tech-Ed.  Or download a 30 day trial today at PowerWF.com

    Links

    Questions

    • rfoust: ## has scripting games been your full time job for the past few weeks
    Resources
    Tips







    Design a site like this with WordPress.com
    Get started