WASHINGTON — President Trump has again stopped short of reimposing draconian sanctions on Iran that could break up its nuclear deal with world powers, two people briefed on his decision said on Thursday, but he is expected to give Congress and European allies a deadline to improve the deal or the United States will pull out of it.

He also approved targeted sanctions against several Iranian government officials for corruption and human rights abuses, some of it related to the antigovernment protests that have convulsed Iranian cities this month, these people said.

Mr. Trump’s action, which the White House will announce on Friday, is the third time he has given a reprieve to the agreement brokered by President Barack Obama, despite having labeled it “the worst deal ever” and threatening repeatedly to rip it up.

His reluctance to preserve the agreement deepened in recent weeks after the protests, in which at least 21 people have died and thousands have been jailed. But his senior aides again persuaded him not to dissolve it, as did European allies, who said Iran was still abiding by the terms of the deal and that breaching it would play into the hands of hard liners in the country.