Seria útil se você também colasse o erro que está recebendo. Mas você tem um colchete de fechamento muito no código do seu loop, que provavelmente é:
-replace "password", "$Password" } ' <=== this one
btw, você pode diminuir a quantidade de código de criação de subpastas criando a árvore inteira de uma só vez, o que o PowerShell pode lidar perfeitamente
mkdir c:\foo\bar\this\will\all\be\created\in\one\statement