A very common issue on the Envoy and Trailblazer
models. You need a new ignition switch to fix this problem.
What is happening is the contacts inside the ignition switch become worn and often times need a whack on the steering wheel or column to make contact. I've probably replaced a hundred of these for that same problem and other electrical issues.
If you plan to replace the switch yourself, it isn't too detailed of a job. You would need to remove the plastic trim covers around the column, and the ignition switch is right there below the key cylinder. Remove the connector and push the two tabs in on the side of the switch to remove it from the housing. Be sure to align the gear on the new switch as the same position on the old switch or you will have problems. You'll see what I mean if you take it apart.