vCert.py が SyntaxError を伴って実行失敗する
search cancel

vCert.py が SyntaxError を伴って実行失敗する

book

Article ID: 418933

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction


Symptoms: 免責事項: これは英文の記事 vCert.py execution fails with SyntaxError の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

証明書更新に伴い vCert.py を実行すると、以下の出力を伴って失敗します。

root@vcsa [ /vCert-6.1.0-20250910 ]# ./vCert.py
Traceback (most recent call last):
File "./vCert.py", line 20, in
from lib.menu import Menu, MenuInput
File "/vCert-6.1.0-20250910/lib/menu.py", line 17, in
from lib.vmdir import get_identity_sources3
File "/vCert-6.1.0-20250910/lib/vmdir.py", line 554
args = [DIR_CLI, 'service', 'update', '--name', f"{soluser}-{machine_id}", '--cert',
^
SyntaxError: invalid syntax

Environment

VMware vCenter Server 

Cause

こちらのエラーはアプラインスにインストールされている python のバージョンが 3.6  より古く、
f-strings に対応していないことから発生します。

主に vCenter Server アプライアンス 6.7 以前で vCert.py を実行した際に発生します。

Resolution

vCert.py は vCenter Sever 7.0 以降で対応しており、6.7 以前のバージョンには対応しておりません。
vCert.py は vCenter Sever 7.0 以降で実行してください。

Additional Information

"vCert.py is a menu-driven tool that provides management capability for most certificate-related operations on vCenter versions 7.0 to 9.0." 
* vCert - Scripted vCenter Expired Certificate Replacement