<main>
<article class="userContent">
<p><br></p><p>The full version of TeamViewer on Windows can run command line parameters that initiate a session to a remote device using a pre-set ID, password, and connection mode.</p><p>You can use these parameters to run TeamViewer from the Command Prompt, a script (for example, a .bat file), or a shortcut on your Desktop or Start menu. </p><div class="blockquote"><div class="blockquote-content"><p class="blockquote-line"><em>This article applies to TeamViewer users with Windows or macOS. </em></p></div></div><p><br></p><h3></h3><h2 data-id="how-to-use-command-line-parameters">How to use Command line parameters</h2><h4 data-id="parameters-with-and-without-value">Parameters with and without value</h4><p>📌<strong>Note: </strong>Some parameters are only available with<strong> TeamViewer version 13.2</strong>.</p><p>There are two types of parameters, with value and without value.</p><p>Example for a parameter without value: </p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe --noInstallation
</pre><p>Example for a parameter with value: </p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe --id 123456789
</pre><p>In most cases, only one value is expected; if multiple are given, only the first one is used.</p><p>If the value of a parameter contains a space, the value <strong>must be enclosed in quotation marks</strong>.</p><h4 data-id="notes%3A">📌Notes:</h4><ul><li>A long parameter is called like this (with two “-“ -> “--“): <em>TeamViewer.exe --Minimize</em></li><li>If the parameter has a short variant, it can also be called with only one “-“: <em>TeamViewer.exe -n</em></li><li>However, using “--n” is also possible on some platforms. Multiple parameters can be combined in one call, and parameters are case-sensitive.</li></ul><p><br></p><h3 data-id="-1"></h3><h2 data-id="application">Application</h2><p>The following options are supported:</p><p><strong>📌NOTE:</strong> Please find the Parameter and short variant on the first line, with the description for each beneath.</p><p><br></p><h3 data-id="minimize">Minimize</h3><p>Start TeamViewer minimized. If "Start TeamViewer with Windows" is enabled, TeamViewer will be started in the tray instead.</p><h3 data-id="id-i">id -i</h3><p>Starts a connection to the given partner ID.</p><h3 data-id="password-p">Password -p</h3><p>Used in combination with "id". Password to use for the connection.</p><h3 data-id="passwordb64-b">PasswordB64 -B</h3><p>Used in combination with "id". Base64 encrypted password to use for the connection.</p><h3 data-id="mode-m">mode -m</h3><p>Used in combination with "id". Connection mode to use for the connection. </p><p>If omitted, the remote control is used-</p><p><strong>Supported values:</strong></p><ul><li>fileTransfer</li><li>vpn</li></ul><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">--mode fileTransfer</code></p><h3 data-id="quality-q">quality -q</h3><p>Used in combination with "id". Connection quality setting to use for the connection.</p><p><strong>Supported values:</strong></p><ol><li>automatic quality selection</li><li>optimize quality</li><li>optimize speed</li><li>custom settings</li><li>undefined</li></ol><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">--quality2</code></p><h3 data-id="ac-a">ac -a</h3><p>Used in combination with "id". Access control rights to use for the (outgoing) connection.</p><p><strong>Supported values:</strong></p><p> 0. full access</p><ol><li>confirm all</li><li>view and show</li><li>custom</li></ol><p> 9. undefined</p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">--ac1</code></p><h3 data-id="play">play</h3><p>Play a TeamViewer session file (*.tvs)</p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --play C:Users\shvarts\Desktop\A\abc.tvs</code></p><h3 data-id="control">control </h3><p>Start a connection (RC/Meeting) to an id specified in given control file (*.tvc)</p><p>Where to find .tvc files:</p><ul><li>%appdata%\TeamViewer\MRU\RemoteSupport</li><li>%appdata%\TeamViewer\MRU\Meeting</li></ul><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --control C:\Users\shvarts\Desktop\A\abc.tvc</code></p><h3 data-id="proxyip">ProxyIP</h3><p>Proxy IP and Port, formatted like: IPAddress:Port</p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --ProxyIP 192.168.0.2:8080</code></p><h3 data-id="proxyuser">ProxyUser</h3><p>Used in combination with "ProxyIP". Proxy Username.</p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --ProxyIP 192.168.0.2:8080 --ProxyUser admin</code></p><h3 data-id="proxypassword">ProxyPassword</h3><p>Used in combination with "ProxyIP". Proxy Password Base64 encoded.</p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --ProxyIP 192.168.0.2:8080 --ProxyUser admin --ProxyPassword test</code></p><h3 data-id="sendto">sendto</h3><p>Send a list of files to a partner in your partner list. Prompts may open for login and selection of the recipient.</p><p>Examples:</p><p>Single file: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --Sendto C:\Users\shvarts\Desktop\A\abc.jpg</code></p><p>Multiple files: <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewer.exe --Sendto C:\Users\shvarts\Desktop\A\abc.jpg C:\Users\shvarts\Desktop\A\abcd.jpg </code></p><p><br></p><h3 data-id="examples">Examples</h3><ul><li>Remote Control: </li></ul><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer.exe -i <ID> -P <Password>
</pre><ul><li>File Transfer: </li></ul><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer.exe -i <ID> -P <Password> -m fileTransfer
</pre><ul><li>VPN: </li></ul><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer.exe -i <ID> -P <Password> -m vpn
</pre><p><br></p><h3 data-id="-2"></h3><h2 data-id="device-assignment">Device assignment</h2><p>On Windows, the assignment task is started like this:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe assign <options>
</pre><p> On macOS, it is started like this:</p><p><strong>Host version: </strong></p><pre class="code codeBlock" spellcheck="false" tabindex="0">sudo /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment <options>
</pre><p> <strong>Full version:</strong></p><pre class="code codeBlock" spellcheck="false" tabindex="0">sudo /Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Assignment <options>
</pre><p> "sudo" is required to obtain admin rights because AssignmentData.json is written with restricted rights by TeamViewer_Service. The tool can only be executed from within the app bundle; otherwise, the tool cannot find its required frameworks.</p><p>If the value (e. g. group) contains a space, the value must be enclosed in "", or each space must be encapsulated with "\" on macOS.</p><p>Use “--" for Windows in front of each option and “-“ for macOS in front of each option.</p><p>Following options are supported:</p><p><strong>📌NOTE:</strong> Please find each option and its description below. </p><h3 data-id="-3"></h3><h3 data-id="api-token-required">api-token - REQUIRED</h3><p>Token needed to access the API, which could be generated in the management console (e.g., in "profile settings/Apps"). Tokens for the deployment of custom hosts can also be used.</p><h3 data-id="alias">alias</h3><p>Alias for the new device in the computers & contacts list. If the device is already in the contact list, no alias will be applied.</p><h3 data-id="grant-easy-access">grant-easy-access</h3><p><code class="code codeInline" spellcheck="false" tabindex="0">DEFAULT VALUE: false</code>Grants easy access after assignment (same as the "Grant easy access" option in the TeamViewer main window).</p><h3 data-id="reassign">reassign</h3><p><code class="code codeInline" spellcheck="false" tabindex="0">DEFAULT VALUE: false</code>Assigns the device to the account even if the device is already assigned to an account.</p><h3 data-id="wait">wait</h3><p><code class="code codeInline" spellcheck="false" tabindex="0">DEFAULT VALUE: 10</code>Waiting time in seconds for the assignment to wait for the data file to be created. Usually, the default value is sufficient.</p><h3 data-id="group">group </h3><p><strong>Only required if no custom host is used, as the group is already defined in the custom configuration</strong>. Name of the group in which the device will be added. If the group doesn't exist, it will be automatically created. If the device is already present in the computers & contacts list in a different group, it will not be moved to the group.</p><h3 data-id="group-id">group-id </h3><p>Alternative to the <code class="code codeInline" spellcheck="false" tabindex="0">--group</code> parameter if the id of the group is known. It can be useful for larger customer environments as it speeds up the assignment process.</p><p>Usually, using <code class="code codeInline" spellcheck="false" tabindex="0">--group</code> is sufficient.</p><h3 data-id="proxy">proxy</h3><p>URL of your proxy in the format <name>:<port>, </p><p>Example: <code class="code codeInline" spellcheck="false" tabindex="0">--proxy yourproxy:3201</code></p><h3 data-id="proxy-user">proxy-user</h3><p>The username used for authentication against the proxy.</p><h3 data-id="proxy-pw">proxy-pw</h3><p>Password used for authentication against the proxy.</p><h3 data-id="proxy-pwbase64">proxy-pwbase64</h3><p>Same as <code class="code codeInline" spellcheck="false" tabindex="0">--proxy-pw</code> but the password needs to be entered as a Base64 encoded string.</p><h3 data-id="verbose">verbose </h3><p><strong>Only required for macOS.</strong> It can be used to enable more detailed logging. Only used in cases of error analysis.</p><h3 data-id="retries">retries</h3><p>The assignment is retried in case of temporary errors. Note that there is a waiting time of 1 second between each try.</p><h3 data-id="timeout">timeout</h3><p>Set the overall timeout in seconds used for all assignment tries.</p><p><br></p><h3 data-id="examples-1">Examples</h3><h4 data-id="windows">Windows</h4><p>Basic assignment:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe assign --api-token 12345678 --group SomeGroup
</pre><p> Using an alias & grant easy access:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe assign --api-token 12345678 --group "Some Group" --alias %COMPUTERNAME% --grant-easy-access
</pre><p> Using a proxy with authentication:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">TeamViewer.exe assign --api-token 12345678 --group SomeGroup --reassign --proxy testproxy:3201 --proxy-user someuser --proxy-pw passwd
</pre><p> </p><h4 data-id="macos">macOS</h4><p>Examples are for the Host version. For the full version, replace TeamViewerHost.app with TeamViewer.app)</p><p> Basic assignment:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">sudo /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment -api-token 12345678 -group SomeGroup
</pre><p> Using an alias & grant easy access:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">sudo /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment -api-token 12345678 -group "Some Group" -alias $USER -grant-easy-access
</pre><p> Using a proxy with authentication:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">sudo /Applications/TeamViewerHost.app/Contents/Helpers/TeamViewer_Assignment -api-token 12345678 -group SomeGroup -reassign -proxy testproxy:3201 -proxy-user someuser -proxy-pw passwd
</pre><p><br></p><h3 data-id="-4"></h3><h2 data-id="com-api">COM API</h2><p>On Windows, the COM API could be used like this:</p><p><em>TeamViewer.exe api <options></em></p><div class="embedExternal embedImage display-medium float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/7WOF9SKF1XC7/image.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/7WOF9SKF1XC7/image.png" alt="image.png" height="80" width="297" loading="lazy" data-display-size="medium" data-float="none"></img></a>
</div>
</div>
<p><br></p><h3 data-id="how-to-verify-successful-installation">How to verify successful installation</h3><h4 data-id="via-logfile">Via logfile</h4><p>Open TeamViewer logfile from %appdata%\TeamViewer and find the following entries:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">CommandLineTasks: initializing...
CommandLineTasks: installing COM-API
API: Installing API ...
API: ... successfully installed, calling SignalServiceParamChange ...
API: ... SignalServiceParamChange finished
CommandLineTasks: installing COM-API successful
CommandLineTasks: finished
</pre><h4 data-id="via-windows-powershell">Via Windows Powershell</h4><p>Use the following Powershell commands:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">$tv = new-object -com TeamViewer.Application
$tv.ApiVersion
</pre><p>Verify that any version will be written in the Windows Powershell for example:</p><div class="embedExternal embedImage display-medium float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/YB1W2ISXRFU1/image.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/YB1W2ISXRFU1/image.png" alt="image.png" height="125" width="377" loading="lazy" data-display-size="medium" data-float="none"></img></a>
</div>
</div>
<p><br></p><h3 data-id="how-to-verify-successful-un-installation">How to verify successful un-installation</h3><h4 data-id="via-logfile-1">Via logfile</h4><p>Open the TeamViewer logfile from %appdata%\TeamViewer and find the following entries:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">CommandLineTasks: initializing...
CommandLineTasks: uninstalling COM-API
API: Uninstalling API ...
API: ... successfully uninstalled, calling SignalServiceParamChange ...
API: ... SignalServiceParamChange finished
CommandLineTasks: uninstalling COM-API successful
CommandLineTasks: finished
</pre><h4 data-id="via-windows-powershell-1">Via Windows Powershell</h4><p>Use the following Powershell commands:</p><pre class="code codeBlock" spellcheck="false" tabindex="0">$tv = new-object -com TeamViewer.Application
</pre><p>Verify that an error will be printed in the Powershell</p><div class="embedExternal embedImage display-large float-none">
<div class="embedExternal-content">
<a class="embedImage-link" href="https://us.v-cdn.net/6032394/uploads/WZGQ5DV7CZBF/image.png" rel="nofollow noreferrer noopener ugc" target="_blank">
<img class="embedImage-img" src="https://us.v-cdn.net/6032394/uploads/WZGQ5DV7CZBF/image.png" alt="image.png" height="125" width="829" loading="lazy" data-display-size="large" data-float="none"></img></a>
</div>
</div>
<p> </p>
</article>
</main>