The Visio PowerShell module - VisioPS - automates and simplifies common tasks for Visio 2010 and later versions. VisioPS feels natural for PowerShell users because it maps standard PowerShell verbs and idioms to Visio concepts.
See it in action - watch this video for a demonstration: https://vimeo.com/94408016 (The video covers an older version - but the principles are the same)
VisioPS is open source under the MIT license. Visit the VisioAutomation GitHub repo.