Указал выше, прочитай. Но раз с первого раза не понятно, опишу ещё раз. В одну и ту же переменную записываются данные разных типов. У Powershell присвоение типов динамическое, и это часто приводит к ошибке. Метод ToString для разных типов отрабатывает по разному, и результат всегда вводит в тупик. Да две строки при выполнении в свежей сессии не приводят к ошибке, но когда ты в ISE пишешь код, многократно его же перезапускаешь, то всё это приводит к таким ошибкам. А так как я на них нарывался, то я могу по двум строкам вырванным из кода подсказать что именно не так.