Я использую клиент командной строки Microsoft tfs. Его ZIP-файл CLC можно получить здесь.
Мой почтовый индекс = TEE-CLC-14.134.0
. Извлечено в каталог = C:\mstfscmdclient
Проблема. Всякий раз, когда пароль пользователя TFS содержит двойные кавычки, команды tf терпят неудачу.
Пример -
call mstfscmdclient\tf.cmd workspaces /collection:<my tfs server url> /login:<my tfs username>,<my tfs password>
Эта команда не работает, если пароли заключены в двойные кавычки, например Abcd@"2018, Abc"&<=2018
и т. д.
Та же команда работает, если пароли не заключены в двойные кавычки, например Abcd@2018''
, A~``$%^&<=@18b etc
.
Ошибка -
An error occurred: Access denied connecting to TFS server <my tfs server url> (Authenticating as <my tfs username>)
Обратите внимание, что я должен использовать только клиент CLC и выполнять операции TFS только с помощью tf.cmd. Это одобрено на уровне моей организации и не может быть изменено. Таким образом, решения от инструментов Visual Studio, tf.exe и т. Д. Мне не пригодятся.
Я просмотрел следующую официальную документацию, но не получил сведений о политиках паролей или каких-либо ограничениях.
[ Azure DevOps & TFS / Azure Repos / TFVC / Reference / Справочник по командам TFVC / Использование команд управления версиями Team Foundation]
и [ Документы / Предыдущие версии / Visual Studio / Справочник по командной строке управления версиями Team Foundation / Команды утилиты командной строки Tf]
Редактировать 2. Этот вопрос не дублирует экранирование специальных символов в cmd.
Многие пароли не работают с предложенным в нем решением.
Например, Year<"%^&*2018
не работал при вызове tf.cmd
с "Year<""%^&*2018", "Year<""%^&&*2018", "Year<""%^^&&*2018", "Year<""%%^^&&*2018"
.
Abcd@\"2018, Abc\"&<=2018"
- person Shayki Abramczyk   schedule 05.12.2018"zkhxkchvjk""dkfhkdfk"
кавычки? - person jessehouwing   schedule 05.12.2018java -Xmx2048M -cp %CLC_CLASSPATH% %TF_ADDITIONAL_JAVA_ARGS% "-Dcom.microsoft.tfs.jni.native.base-directory=%BASE_DIRECTORY%native" com.microsoft.tfs.client.clc.vc.Main %*
, скорее всего, вам нужно дважды экранировать пароль. Вы ищете правильную управляющую последовательность, и это может считаться ошибкой в tf-clc. - person jessehouwing   schedule 05.12.2018