Ответ на эту проблему заключается в том, что я идиот.
Этот код правильный
$User = [ADSI] "LDAP://$using:FullUserPath"
$User.psbase.Invokeset("TerminalServicesProfilePath","$using:ProfileLocation")
$user.psbase.InvokeSet("TerminalServicesHomeDrive", "$using:HomeDrive")
$User.psbase.invokeset("TerminalServicesHomeDirectory","$using:HomeLocation")
$User.setinfo()
Однако мои переменные были неверными (чего никто не мог узнать, посмотревчто этот вопрос.) Я назначал $ FullUserPath до $ DisplayName
$FullUserPath = "CN=$DisplayName,$UserPath"
$DisplayName = ($FirstName+" "+$LastName).ToString()
Если вы получаете эту ошибку, и вы выполнили шаги в моем вопросе в разделе «Вещи, которые не работали» Это означает, что ваши переменные былиневерен.Сделайте write-host
для всех ваших переменных и убедитесь, что они хороши
Привет @Jordan за указание на то, что мои переменные могут быть неправильными.