Additional SQL Server features and topics not covered by specific categories
first query referencing view "sys.server_principals" doesnt return anything.
Seems like someone has dropped that login. Probably some sort of a lockdown craze.
So you need to recreate the logins. You can do it this way:
DECLARE @sql nvarchar(MAX) =
'CREATE LOGIN ##MS_PolicyEventProcessingLogin## WITH PASSWORD = ''' + convert(char(36), newid()) +
''', SID = 0x413...
ALTER LOGIN ##MS_PolicyEventProcessingLogin## DISABLE'
--PRINT @sql
EXEC(@sql)
Get the value that follows SID = from the sid column for the user in msdb.sys.database_principals.
The idea with newid() is that you get a random password that you never see. And never will need.