Yes I think you will need a script I would probably just use set ally but I am not too familiar with factions and there best practice if you need more I think this goes into more detail
Example
KarenSchenzyREF.SetFactionRank ArefuFaction 1
Sets Karen to rank one in the ArefuFaction faction.
Player.SetFactionRank ArefuFaction -1
This will remove the player from the ArefuFaction faction.
https://geckwiki.com/index.php?title=Category:Faction_Functions
https://geckwiki.com/index.php/Category:Factions
According to https://forums.nexusmods.com/topic/267946-how-can-i-change-factions-with-the-geck/
You can add the player to other factions without removing it from playerfaction (which is something you don't want to do).
player.addtofaction factionname
Or if you just want to change the player's relationship to another faction you can use setally, setenenemy, etc