How to change SQL sever configuration manager settings using TSQL?
Most settings that can't be done via sp_configure are registry based

So, you can use xp_instance_regread etc to change them. You'll have to find a list of registry keys yourself sorry but most are under HKLM\Software\Microsoft\Microsoft SQL Server

One examples , protocols is under

...
...(instancename)\MSSQLServer\SuperSocketNetLib\Tcp
...(instancename)\MSSQLServer\SuperSocketNetLib\Sm
...


and each of these has an Enabled value 

One important note: you can stop SQL Server from xp_cmdshell or using SHUTDOWN but not start it of course...