francois,
I don't think there has been any change with this regard since WFA2.0.1.
I tried a similar but not the exact scenario on WFA 2.1 and I didn't face any problems
I created a dummy windows service with name NA_WFA_$DB on my WFA server and used a command to call the following.
On powershell I was getting this:
PS C:\Users\Administrator> Get-Service -ComputerName localhost -Name 'NA_WFA_$DB'
Status Name DisplayName
------ ---- -----------
Stopped NA_WFA_$DB NA_WFA_$DB
PS C:\Users\Administrator>
-----
On WFA command, I added a snippet
-----
part1='DB'
part2='NA_WFA_$' + part1
$Service_name= 'sinhaa' + (Get-Service -ComputerName localhost -Name $part2).Name
-----
This passed in execution for me. $Service_name gave sinhaaNA_WFA_$DB
This means even with the presence of $ in the Name, my execution was successful and it didn't return a null object.
Are you still facing the issue?
If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.