You can try this:
- apply a 100% black material override to all your scene objects
- exclude the objects where you need to have your own materials (like the cupboard and the handle)
- make sure the windows are transparent and that light emitters are not blocked by some of the black objects
- then use the shadowcatcher
But I am not sure if this will give you the expected result anyway. I am guessing that the issue you are facing is that the shadowcatcher also catches the light bouncing around the room (the GI). On the other hand, if we would not catch the GI, then the result would look very different (for example the shadow is not 100% black because it is affected by the bouncing light).