UNIX の env コマンドのように環境変数を設定してプロセスを起動したいのですが、Windows PowerShell でこのようなことを実現するにはどうすればよいでしょうか?

Set-Item コマンドを使えば環境変数を書き換えられるのはわかったんですが、これだとシェルそのものの環境が書き換わってしまうので、あとで元に戻す必要があって少し面倒です。

追記

具体的には、特定の環境変数をセットした状態でユニットテストを起動したいと思っています。UNIX のシェルであれば、次のように書けます:

$ env NODE_ENV=test npm test

(この場合必ずしも env は必要ないですが。)