У меня есть несколько хостов PowerShell, и на этих хостах Set-SPDebug -trace 1 не работает.
Я тестировал PoshConsole, здесь он работает, но, например, Host6 в PowerShell SDK не работает.
Есть идеи, что требуется хосту, чтобы это работало?
Мой умный коллега Ян Питер Гуэлен нашел ответ, пройдя через API автоматизации PowerShell с помощью Reflector. Вы должны включить историю в CreatePipeline со следующим кодом:
pipeline = runspace.CreatePipeline("", true);
Теперь трассировка работает! Даже в книге Wrox "Программирование Windows PowerShell" об этом не говорится :-( Пример PowerShell SDK (Host6) также должен включать это ... PoshConsole делает то же самое, но я никогда не думал, что это было бы проблемой.
Как это не работает? Если вы не видите выходных данных, переопределили ли вы метод WriteDebugLine () базового класса PSHostUserInterface, например ::1001*
public override void WriteDebugLine(string message) { this.WriteLine(ConsoleColor.DarkYellow, ConsoleColor.Black, String.Format(CultureInfo.CurrentCulture, "DEBUG: {0}", message)); }