Source: https://stackoverflow.com/questions/363884/what-does-the-symbol-do-in-powershell#574388
PowerShell will actually treat any comma-separated list as an array:
“server1″,”server2”
So the @ is optional in those cases. However, for associative arrays, the @ is required:
@{“Key”=”Value”;”Key2″=”Value2″}
Officially, @ is the “array operator.” You can read more about it in the documentation that installed along with PowerShell, or in a book like “Windows PowerShell: TFM,” which I co-authored :). – Don Jones