Reading the output stream from PoSh is a pain in the rear.
I would script the logins using TSQL instead:
SELECT 'CREATE LOGIN ' + QUOTENAME(name) + ' ' +
CASE type
WHEN 'S' THEN
'WITH PASSWORD = ' + CAST(CONVERT(varchar(256), CAST(LOGINPROPERTY(name,'PasswordHash') AS varbinary (256)), 1) AS nvarchar(max)) + ' HASHED ,
SID = ' + CAST(CONVERT(varchar(256), Sid, 1) AS nvarchar(max))
ELSE ' FROM WINDOWS '
END , type
FROM sys.server_principals
WHERE type IN ('S','U','G')
It may not be perfect, but it's a starting point.
-- Gianluca Sartori