Get-ADPrincipalGroupMembership -Identity não aceita variável

Trabalhando em alguns domínios diferentes, com esquemas de nomenclatura diferentes. Então, eu estou escrevendo um script que entra em cada domínio e verifica sua participação no grupo.

A primeira coisa que o script faz é pedir o sobrenome do usuário. Então eu usoGet-ADUser para selecionar osamaccountname e amarre-o a uma variável (samaccountname é o único nome queGet-ADPrincipalGroupMembership -Identity parâmetro aceita).

Mas quando eu executo o script usando a variável para-Identity não encontra o usuário. Se eu digitar manualmente - ele encontra o usuário.

Aqui está o código:

$surname = Read-Host "Users Last Name" 

$fullname = Get-ADUser -filter * | Where-Object {$_.surname -eq $surname} |
            select samaccountname | Format-Table -HideTableHeaders | Out-String
Get-ADPrincipalGroupMembership -Identity $fullname | select name |
  Format-Table -HideTableHeaders

O erro que recebo mostra que a variável é uma string e é o usuário correto que está procurando, mas o erro diz que não pode encontrar esse usuário.

questionAnswers(1)

yourAnswerToTheQuestion