Using Powershell to Copy Files to Several Locations
Simple program at first glance. I am glad to see some documentation there that explains what the code does. This is a good and important practice.

Set-Location

This is the only real problem I see with the code here. You rely on the working directory of PowerShell when copying files. You already know the directories you are using. Use the full paths and skip Set-Location altogether. This will reduce complexity and points of failure.

Instead of 


# copy to the MM Client folder
$destination = ($codeToDeploy + $datedFolderName + "OurProjectName Client\");
Set-Location $myLocalOurProjectName 
Copy-Item *.dll,OurProjectName.exe $destination -Force;



Use

# copy to the MM Client folder
$destination = ($codeToDeploy + $datedFolderName + "OurProjectName Client\");
Copy-Item -Path $myLocalOurProjectName -Include "*.dll","OurProjectName.exe" -Destination $destination -Force


In this same vein use the parameter names when writing code. Position arguments are fine for testing but readability improves for you and others when you use named arguments. 

New-Item

When creating new folders PowerShell will output the Directory Object when it is created. Most find this undesirable. To void the output a clean approach is to pipe Out-Null. There are other ways to do this as well. 

New-Item $destination -ItemType directory -Force | Out-Null


You might like the output but just beware it is there and being generated by New-Item. 

String based path creation

This can work fine but a better practice is to use cmdlets and methods to build paths reliably. This way you don't have to worry about leading and trailing as much. When it comes to stitching more that 2 folder/paths together Combine is your friend.

Instead of 


$destination = ($codeToDeploy + $datedFolderName + "OurProjectName Client\");



Consider

[io.path]::Combine($codeToDeploy, $datedFolderName, "OurProjectName Client\")


Code Repetition

This is largely made moot by what was said previously but keep this in mind. You have small code blocks that are repetitions but use the same logic with just some strings changing. Functions should be used here so that if some logic has to be added you are making the change in one place as supposed to updating several snippets throughout the code.

Pointless Code

Understand that I really wanted another word other than pointless. You have at least one line that is not serving a purpose


$folders = Get-ChildItem "\\nw\data\TnFS\Project\ProjectFolder\UI TESTING\MM *" | Sort-Object



There was commented code related to the above line but, since it was commented, the above line serves no purpose. Something to watch out for.