Oh, right, of course. Okay, so what you need here isn’t super obvious, but let me explain briefly:
PowerShell will see that as just any old string object. It doesn’t know to execute it like it might with a regular path or filename (it tries to be helpful there, with some success, depending).
To get it to execute what it might find at a path you’ve made into a string (which you kinda have to here), you have a few options:
# Simplest
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\gacutil.exe /u $AssemblyName"
# Alternative, bit easier to control if you need to, bit easier to work with multiple arguments.
Start-Process -Wait -FilePath "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\gacutil.exe" -ArgumentList '/u', $AssemblyName
I recommned for you to take a small step back and start from scratch with learning the very basics of Powershell.
Here you can find some great sources to start with: Beginner Sites and Tutorials.