Cook pasta according to package directions, leaving al dente. Drain and set aside.
Meanwhile, in a large skillet, heat 2 tbs butter over medium. Add shallots and cook until fragrant, about 3 minutes.
Stir in ham and cook for 30 seconds.
Stir in mushrooms and cook until water releases from mushrooms, about 3 minutes. Once that's happened, increase the heat to medium high and cook until the moisture has evaporated and the mushrooms have slightly browned, about 5 minutes.
Add cream and simmer, stirring occasionally to prevent boiling or sticking. If it nears boiling, lower the heat as needed. Cook to reduce slightly, about 3-5 minutes.
Stir in peas. If frozen, cook until warmed through, if fresh, simmer a bit longer to make them more tender, about 2-3 minutes.
Add cheese, pasta, and lemon zest to cream and stir to mix well. Add salt and pepper to taste and serve immediately.