MOSCOW—The Kremlin said Friday it is still trying to prevent a Western military strike against the regime of Syrian President Bashar al-Assad, but Moscow appears to be running out of cards to play to protect its longtime ally.

From the start, the Kremlin has ruled out direct military intervention, not wanting to risk a broader confrontation with the West. Moscow has supplied weapons and financial backing, but not enough to turn the tide in the fighting. Regular Russian vetoes of United Nations Security Council resolutions...