I'm not sure how you can avoid creating a function/procedure or template.
I suggest using INFORMATION_SCHEMA views to generate the dynamic SQL.
Here's some sample SQL, but you'll probably need to CAST the "newid()" or a set of case statements to match your random value to match the appropriate datatype.
SELECT
schemaname = c.TABLE_SCHEMA
,tablename = c.TABLE_NAME
,columnname = c.COLUMN_NAME
,c.DATA_TYPE
,c.CHARACTER_MAXIMUM_LENGTH
,sqlquery = 'select [' + c.COLUMN_NAME + '] = newid() from [' + c.TABLE_SCHEMA + '].[' + c.TABLE_NAME + ']'
FROM INFORMATION_SCHEMA.COLUMNS c
--WHERE c.TABLE_SCHEMA = @schema
--AND c.TABLE_NAME = @table