- Get started with Configuration Manager cmdlets
- PowerShell from the Configuration Manager console
- Import the Configuration Manager PowerShell module
- Update help
- Common parameters
- Support for PowerShell version 7
- Cmdlets that don’t support PowerShell version 7
- Known issues with PowerShell version 7
- Feedback for PowerShell
- Preview release notes
- Next steps
- Find windows OS version from command line
- Find OS Version and Service Pack number from CMD
- Check Windows version using WMIC command
- Windows commands
- Prerequisites
- Command shell overview
- Command-line reference A-Z
- Использование консоли Configuration Manager How to use the Configuration Manager console
- Открытие консоли Open the console
- Подключение к серверу сайта Connect to a site server
- Навигация Navigation
- Рабочие области Workspaces
- Узлы Nodes
- Лента Ribbon
- Область сведений Details pane
- Столбцы Columns
- Снятие блокировки на объектов Reclaim lock for editing objects
- Просмотр недавно подключенных консолей View recently connected consoles
- Предварительные требования для просмотра сведений о подключенных консолях Prerequisites to view connected consoles
- Просмотр подключенных консолей View connected consoles
- Запуск чата Microsoft Teams через подключения консоли Start Microsoft Teams Chat from Console Connections
- Предварительные условия Prerequisites
- Запуск чата Microsoft Teams Start Microsoft Teams Chat
- Известные проблемы Known issues
- Панель мониторинга документации в консоли In-console documentation dashboard
- Библиотека документации по продукту Product documentation library
- Справочные статьи Support articles
- Устранение ошибок подключения Troubleshooting connection errors
- Параметры командной строки Command-line options
Get started with Configuration Manager cmdlets
Applies to: Configuration Manager (current branch)
Use Windows PowerShell to manage your Configuration Manager hierarchy. You can use PowerShell scripts to automate or extend Configuration Manager similar to other documented approaches using WMI and C#. For more information, see Configuration Manager SDK.
Run Configuration Manager cmdlets and scripts in PowerShell from the Configuration Manager console or from a Windows PowerShell session. When you run Configuration Manager cmdlets by using the Configuration Manager console, your session automatically runs in the context of the site.
All currently supported versions of Configuration Manager current branch support Windows PowerShell version 5.1. If you’ve already installed PowerShell version 7, you can still use PowerShell version 5.1. For more information, see Using PowerShell 7 side-by-side with Windows PowerShell 5.1.
Starting in version 2010, the Configuration Manager PowerShell cmdlet library supports PowerShell 7. For more information, see Support for PowerShell version 7.
PowerShell from the Configuration Manager console
The easiest method to open PowerShell is directly from the Configuration Manager console.
Launch the Configuration Manager console. In the upper-left corner, there’s a blue rectangle. Select the white arrow in the blue rectangle, and choose Connect via Windows PowerShell.
After Windows PowerShell loads, you’ll see a prompt that contains your site code. For example, if the site code is «ABC», the prompt looks like: PS ABC:\>
To verify it works, use the Get-CMSite cmdlet. This cmdlet returns information about the Configuration Manager site you’re currently connected to and any child sites. For example, the site server name, installation director, site name, and version.
Import the Configuration Manager PowerShell module
Connect to Configuration Manager from an existing Windows PowerShell session by manually loading the Configuration Manager module.
Open a Windows PowerShell session from the Start menu.
Import the Configuration Manager module by using the Import-Module cmdlet. Specify the path to the Configuration Manager module, or change to the directory that contains the module. By default, the module is at the following path: C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\ConfigurationManager.psd1
This path changed starting in version 1910 to use the Microsoft Endpoint Manager folder. Make sure you don’t import an older version of the module that might exist in another folder. After you import the module, use the following commands to check the module version and path:
The following example changes to the module’s directory and then imports it:
You can also use the SMS_ADMIN_UI_PATH environment variable. For example:
Also, you can use the cd alias to change directories instead of the Set-Location cmdlet.
If it’s the first time importing the Configuration Manager module on this computer, you may need to create the site drive. For example:
When you start PowerShell from the console, it automatically creates the PSDrive as a convenience for the currently connected site. If you’re in a hierarchy, use New-PSDrive to create drives for each site.
To run the Configuration Manager cmdlets, you need to switch the path to the Configuration Manager site. In the following example, the site code is ABC :
Confirm that PowerShell properly loaded the Configuration Manager module by using the Get-CMSite cmdlet.
Update help
Starting in version 2010, to get the latest information for the Configuration Manager PowerShell module, use the Update-Help cmdlet. This content is the same as what’s published on docs.microsoft.com for the ConfigurationManager module.
Because of a change in how the updateable content is structured and published with the release of version 2103, don’t use Update-Help on a version 2010 site. Update the site to version 2103, and then update the local help content.
The computer on which you run this cmdlet needs internet access, specifically pshelpprod.blob.core.windows.net . Then run the following command:
After you update the Configuration Manager cmdlet help, you can get help about the cmdlets by using the Get-Help cmdlet. For example:
For more information, see the following PowerShell blog post: You’ve got Help!.
Common parameters
All Configuration Manager cmdlets support the common PowerShell parameters:
- Debug
- ErrorAction
- ErrorVariable
- InformationAction
- InformationVariable
- OutVariable
- OutBuffer
- PipelineVariable
- Verbose
- WarningAction
- WarningVariable
Support for PowerShell version 7
Starting in version 2010, the Configuration Manager PowerShell cmdlet library supports PowerShell version 7. For more information on PowerShell 7, including directions on how to download and install it, see Install PowerShell on Windows.
PowerShell 7 runs as pwsh.exe . Earlier versions of PowerShell run as powershell.exe .
Cmdlets that don’t support PowerShell version 7
The following cmdlets don’t support PowerShell 7:
- Import-CMPackage
- Import-CMDriverPackage
- Import-CMTaskSequence
- Export-CMPackage
- Export-CMDriverPackage
- Export-CMTaskSequence
They require the .NET Framework instead of .NET Core that’s used with PowerShell version 7.
Starting in version 2103, if you try to use these cmdlets in a PowerShell version 7 session, they fail with the following error: This cmdlet only supports the «.NET Framework» runtime.
Known issues with PowerShell version 7
You can’t launch PowerShell 7 directly from the Configuration Manager console. Manually start PowerShell 7, and then import the Configuration Manager module.
Current support is only for the Configuration Manager cmdlets. Other features of Configuration Manager that rely on PowerShell may not support version 7. For example, Run Scripts, CMPivot, or the Run PowerShell Script task sequence step.
Feedback for PowerShell
If you have feedback on the Configuration Manager PowerShell cmdlets, use the same options in the Configuration Manager console to send feedback. For more information, see Product feedback.
When you send a frown, include the following additional information specific to PowerShell:
The exact script or command syntax that you used so that Microsoft can try to reproduce the issue.
What behavior you expected compared to the actual behavior.
The full output when you run it with the Verbose common parameter.
The version and path of the ConfigurationManager module. For example, include the output of the following commands:
If a cmdlet returns an error, use the following command to get exception details:
Preview release notes
Starting with technical preview branch version 2012, the technical preview features article in the core documentation library includes release notes for PowerShell.
Next steps
For more information about what’s changed in the most recent release of Configuration Manager, select the latest Release Notes from the table of contents.
For more information on individual cmdlets, see the Configuration Manager cmdlet reference.
For more information on learning and getting started with Windows PowerShell, see PowerShell 101.
Find windows OS version from command line
Windows has command line utilities that show us the version of the Windows OS running on the computer, including the service pack number. There are multiple CMD commands that help with finding this, you can pick the one that suits your need. Ver command can show you the OS version whereas Systeminfo command can additionally give you service pack, OS edition and build number etc.
Find OS Version and Service Pack number from CMD
As you can see above, ver command shows only OS version but not the service pack number. We can find service pack number as well with Systeminfo command. Systeminfo dumps lot of other information too, which we can filter out using findstr command.
This command works on XP, Vista and Windows 7 and on Server editions also. Find below example for Win7.
In case of Windows 7 SP1, the output would be slightly different as below.
If you want to print more details, then you can use just ‘OS’ in the findstr search pattern. See example below for Server 2008.
Check Windows version using WMIC command
Run the below WMIC command to get OS version and the service pack number.
Example on Windows 7:
If you want to find just the OS version, you can use ver command. Open command window and execute ver command. But note that this does not show service pack version.
This command does not show version on a Windows 7 system.
Windows commands
All supported versions of Windows (server and client) have a set of Win32 console commands built in.
This set of documentation describes the Windows Commands you can use to automate tasks by using scripts or scripting tools.
Prerequisites
The information that is contained in this topic applies to:
- Windows Server 2019
- Windows Server (Semi-Annual Channel)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 10
- Windows 8.1
Command shell overview
The Command shell was the first shell built into Windows to automate routine tasks, like user account management or nightly backups, with batch (.bat) files. With Windows Script Host you could run more sophisticated scripts in the Command shell. For more information, see cscript or wscript. You can perform operations more efficiently by using scripts than you can by using the user interface. Scripts accept all Commands that are available at the command line.
Windows has two command shells: The Command shell and PowerShell. Each shell is a software program that provides direct communication between you and the operating system or application, providing an environment to automate IT operations.
PowerShell was designed to extend the capabilities of the Command shell to run PowerShell commands called cmdlets. Cmdlets are similar to Windows Commands but provide a more extensible scripting language. You can run Windows Commands and PowerShell cmdlets in Powershell, but the Command shell can only run Windows Commands and not PowerShell cmdlets.
For the most robust, up-to-date Windows automation, we recommend using PowerShell instead of Windows Commands or Windows Script Host for Windows automation.
You can also download and install PowerShell Core, the open source version of PowerShell.
Incorrectly editing the registry may severely damage your system. Before making the following changes to the registry, you should back up any valued data on the computer.
To enable or disable file and directory name completion in the Command shell on a computer or user logon session, run regedit.exe and set the following reg_DWOrd value:
To set the reg_DWOrd value, use the hexadecimal value of a control character for a particular function (for example, 0 9 is Tab and 0 08 is Backspace). User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.
Command-line reference A-Z
To find information about a specific command, in the following A-Z menu, click the letter that the command starts with, and then click the command name.
Использование консоли Configuration Manager How to use the Configuration Manager console
Область применения: Configuration Manager (Current Branch) Applies to: Configuration Manager (current branch)
Администраторы используют консоль Configuration Manager для управления средой Configuration Manager. Administrators use the Configuration Manager console to manage the Configuration Manager environment. В этой статье рассмотрены основы навигации по консоли. This article covers the fundamentals of navigating the console.
Открытие консоли Open the console
Консоль Configuration Manager всегда устанавливается на каждом сервере сайта. The Configuration Manager console is always installed on every site server. Кроме того, ее можно установить на других компьютерах. You can also install it on other computers. Дополнительные сведения см. в статье Установка консоли Configuration Manager. For more information, see Install the Configuration Manager console.
Проще всего открыть консоль на компьютере Windows 10: нажмите кнопку Пуск и начните вводить Configuration Manager console . The simplest method to open the console on a Windows 10 computer, press Start and start typing Configuration Manager console . Вам может оказаться достаточно ввести лишь часть строки для Windows, чтобы найти наилучшее соответствие. You may not need to type the entire string for Windows to find the best match.
Если вы открыли меню «Пуск», найдите значок Консоль Configuration Manager в группе Microsoft Endpoint Manager. If you browse the Start menu, look for the Configuration Manager console icon in the Microsoft Endpoint Manager group.
В версии 1910 путь к меню «Пуск» изменился. The Start menu path changed in version 1910. В версии 1906 и более ранних папка называется System Center. In version 1906 and earlier, the folder name is System Center. При обновлении Configuration Manager до версии 1910 или более поздней обновите всю внутреннюю документацию, которую вы ведете, включив в нее это новое расположение. When you update Configuration Manager to version 1910 or later, make sure to update any internal documentation that you maintain to include this new location.
Подключение к серверу сайта Connect to a site server
Консоль подключается к серверу сайта центра администрирования или к серверам первичного сайта. The console connects to your central administration site server or to your primary site servers. Консоль Configuration Manager нельзя подключить к вторичному сайту. You can’t connect a Configuration Manager console to a secondary site. Во время установки вы указываете полное доменное имя сервера сайта, к которому будет подключена консоль. During installation, you specified the fully qualified domain name (FQDN) of the site server to which the console connects.
Чтобы подключиться к другому серверу сайта, используйте следующие шаги: To connect to a different site server, use the following steps:
Щелкните стрелку в верхней части ленты и выберите команду Подключение к новому сайту. Select the arrow at the top of the ribbon, and choose Connect to a New Site.
Введите полное доменное имя для сервера сайта. Type in the FQDN of the site server. Если вы уже подключались к серверу сайта, выберите его в раскрывающемся списке. If you’ve previously connected to site server, select the server from the drop-down list.
Выберите Подключиться. Select Connect.
С версии 1810 вы можете указать минимально необходимый уровень аутентификации для доступа администраторов к сайтам Configuration Manager. Starting in version 1810, you can specify the minimum authentication level for administrators to access Configuration Manager sites. Эта функция позволяет настроить для администраторов требование входить в Windows с определенным уровнем. This feature enforces administrators to sign in to Windows with the required level. Дополнительные сведения см. в разделе Планирование использования поставщика SMS. For more information, see Plan for the SMS Provider.
Навигация Navigation
Некоторые области в консоли могут не отображаться в зависимости от назначенной вам роли безопасности. Some areas of the console may not be visible depending on your assigned security role. Дополнительные сведения о ролях см. в разделе Основы ролевого администрирования. For more information about roles, see Fundamentals of role-based administration.
Рабочие области Workspaces
Консоль Configuration Manager имеет четыре рабочие области: The Configuration Manager console has four workspaces:
Активы и соответствие Assets and Compliance
Библиотека программного обеспечения Software Library
Мониторинг Monitoring
Администрирование Administration
Измените порядок кнопок для рабочих областей, щелкнув стрелку вниз и выбрав пункт Параметры области навигации. Reorder workspace buttons by selecting the down arrow and choosing Navigation Pane Options. Выберите элемент Вверх или Вниз. Select an item to Move Up or Move Down. Нажмите кнопку Сброс, чтобы восстановить порядок кнопок по умолчанию. Select Reset to restore the default button order.
Можно свернуть кнопку рабочей области, выбрав параметр Скрыть дополнительные кнопки. Minimize a workspace button by selecting Show Fewer Buttons. Сначала уменьшается кнопка рабочей области, стоящая последней в списке. The last workspace in the list is minimized first. Нажав уменьшенную кнопку и выбрав Показать дополнительные кнопки, можно восстановить исходный размер кнопки. Select a minimized button and choose Show More Buttons to restore the button to its original size.
Узлы Nodes
Рабочие области представляют собой коллекцию узлов. Workspaces are a collection of nodes. Одним из примеров узла является узел Группы обновлений программного обеспечения в рабочей области Библиотека программного обеспечения. One example of a node is the Software Update Groups node in the Software Library workspace.
После перехода к этому узлу можно щелкнуть стрелку, чтобы свернуть область навигации. Once you are in the node, you can select the arrow to minimize the navigation pane.
Когда область навигации свернута, для перемещения по консоли можно использовать панель навигации. Use the navigation bar to move around the console when you minimize the navigation pane.
В консоли узлы иногда упорядочены по папкам. In the console, nodes are sometimes organized into folders. При выборе папки обычно отображается индекс навигации или панель мониторинга. When you select the folder, it usually displays a navigation index or a dashboard.
Лента Ribbon
Лента находится в верхней части консоли Configuration Manager. The ribbon is at the top of the Configuration Manager console. Она может содержать несколько вкладок и может быть свернута с помощью стрелки справа. The ribbon can have more than one tab and can be minimized using the arrow on the right. Кнопки на ленте изменяются в зависимости от узла. The buttons on the ribbon change based on the node. Большинство кнопок на ленте также доступны и в контекстных меню. Most of the buttons in the ribbon are also available on context menus.
Область сведений Details pane
Дополнительную информацию об элементах можно получить в области сведений. You can get additional information about items by reviewing the details pane. Она может иметь одну или несколько вкладок. The details pane can have one or more tabs. Вкладки зависят от узла. The tabs vary depending on the node.
Столбцы Columns
Вы можете добавить, удалить, переупорядочить столбцы и изменить их размер. You can add, remove, reorder, and resize columns. Эти действия позволяют отображать нужные вам данные. These actions allow you to display the data you prefer. Доступные столбцы зависят от узла. Available columns vary depending on the node. Щелкните правой кнопкой мыши существующий заголовок столбца, а затем щелкните элемент, который нужно добавить или удалить в представлении. To add or remove a column from your view, right-click on an existing column heading and select an item. Чтобы изменить порядок столбцов, перетащите заголовок столбца на нужное место. Reorder columns by dragging the column heading where you would like it to be.
В нижней части контекстного меню столбца можно выполнить сортировку или группирование по столбцу. At the bottom of the column context menu, you can sort or group by a column. Кроме того, можно выполнить сортировку по столбцу, щелкнув его заголовок. Additionally, you can sort by a column by selecting its header.
Снятие блокировки на объектов Reclaim lock for editing objects
Если консоль Configuration Manager перестает отвечать на запросы, внесение изменений может быть заблокировано на 30 минут. If the Configuration Manager console stops responding, you can be locked out of making further changes until the lock expires after 30 minutes. Эта блокировка является одним из механизмов системы SEDO (сериализованное изменение распределенных объектов) в Configuration Manager. This lock is part of the Configuration Manager SEDO (Serialized Editing of Distributed Objects) system. Дополнительные сведения см. в статье Система SEDO в Configuration Manager. For more information, see Configuration Manager SEDO.
Начиная с версии Current Branch 1906, можно было снять блокировку с последовательности задач. Starting in current branch version 1906, you could clear your lock on a task sequence. Начиная с версии 1910 вы можете снять блокировку с любого объекта в консоли Configuration Manager. Starting in version 1910, you can clear your lock on any object in the Configuration Manager console.
Это действие применяется только к заблокированной учетной записи пользователя и только на устройстве, на котором сайт установил блокировку. This action only applies to your user account that has the lock, and on the same device from which the site granted the lock. При попытке доступа к заблокированному объекту теперь можно отменить изменения и продолжить изменять объект. When you attempt to access a locked object, you can now Discard Changes, and continue editing the object. Когда срок действия блокировки завершится, эти изменения в любом случае будут потеряны. These changes would be lost anyway when the lock expired.
Просмотр недавно подключенных консолей View recently connected consoles
Начиная с версии 1902 можно просматривать сведения о последних подключениях консоли Configuration Manager. Starting in version 1902, you can view the most recent connections for the Configuration Manager console. В представлении отображаются сведения об активных и недавних подключениях. The view includes active connections and those connections that recently connected. В списке всегда есть текущее подключение консоли и содержатся только подключения из консоли Configuration Manager. You’ll always see your current console connection in the list and you only see connections from the Configuration Manager console. В нем нет подключений PowerShell или других подключений на основе SDK к поставщику SMS. You won’t see PowerShell or other SDK-based connections to the SMS Provider. Элементы старше 30 дней из списка удаляются. The site removes instances from the list that are older than 30 days.
Предварительные требования для просмотра сведений о подключенных консолях Prerequisites to view connected consoles
У вашей учетной записи должно быть разрешение на чтение для объекта SMS_Site. Your account needs the Read permission on the SMS_Site object
Настройка REST API службы администрирования. Configure the administration service REST API. Дополнительные сведения см. в разделе Что такое служба администрирования? For more information, see What is the administration service?
Просмотр подключенных консолей View connected consoles
В консоли Configuration Manager перейдите к рабочей области Администрирование. In the Configuration Manager console, go to the Administration workspace.
Разверните узел Безопасность и выберите узел Подключения консолей. Expand Security and select the Console Connections node.
Для последних подключений доступны следующие свойства: View the recent connections, with the following properties:
- Имя пользователя User name
- Имя компьютера Machine name
- Код подключенного сайта Connected site code
- Версия консоли Console version
- Время последнего подключения: когда пользователь открывал консоль в последний раз Last connected time: When the user last opened the console
- Начиная с версии 1910 столбец Последний пульс консоли заменил столбец Время последнего подключения. Starting in version 1910, the Last Console Heartbeat column has replaced the Last Connected Time column.
- Открытая консоль на переднем плане отправляет пакет пульса каждые 10 минут. An open console in the foreground sends a heartbeat every 10 minutes.
Запуск чата Microsoft Teams через подключения консоли Start Microsoft Teams Chat from Console Connections
(Представлено в версии 1910) (Introduced in version 1910)
Начиная с версии 1910 вы можете отправлять сообщения другим администраторам Configuration Manager из узла Подключения консолей с помощью Microsoft Teams. Starting in version 1910, you can message other Configuration Manager administrators from the Console Connections node using Microsoft Teams. Если вы выбираете Запуск чата Microsoft Teams с администратором, тогда открывается Microsoft Teams и чат с этим пользователем. When you choose to Start Microsoft Teams Chat with an administrator, Microsoft Teams is launched and a chat is opened with the user.
Предварительные условия Prerequisites
- Для запуска чата с администраторами учетная запись, с которой вы хотите запустить чат, должна быть обнаружена с помощью Azure AD или Обнаружения пользователей AD. For starting a chat with an administrator, the account you want to chat with needs to have been discovered with Azure AD or AD User Discovery.
- Если на устройстве, с которого запускается консоль, установлен Microsoft Teams. Microsoft Teams installed on the device from which you run the console. Примечание. note
- Все предварительные требования для просмотра сведений о подключенных консолях All prerequisites to view connected consoles
Запуск чата Microsoft Teams Start Microsoft Teams Chat
- Перейдите в Администрирование >Безопасность >Подключения консоли. Go to Administration >Security >Console Connections.
- Щелкните правой кнопкой мыши консольное подключение пользователя и выберите пункт Запуск чата Microsoft Teams. Right-click on a user’s console connection and select Start Microsoft Teams Chat.
- Если основное имя пользователя для выбранного администратора не найдено, Запуск чата Microsoft Teams отображается серым цветом. If the User Principal Name isn’t found for the selected administrator, Start Microsoft Teams Chat is grayed out.
- Сообщение об ошибке, включая ссылку для скачивания, отображается, если Microsoft Teams не установлено на устройстве, с которого запускается консоль. An error message, including a download link, appears if Microsoft Teams isn’t installed on the device from which you run the console.
- Если на устройстве, с которого запускается консоль, установлено Microsoft Teams, откроется чат с пользователем. If Microsoft Teams is installed on the device from which you run the console, it will open a chat with the user.
Известные проблемы Known issues
Сообщение об ошибке, уведомляющее о том, что Microsoft Teams не установлено, не отображается, если следующий раздел реестра не существует: The error message notifying you that Microsoft Teams isn’t installed won’t be displayed if the following Registry key doesn’t exist:
Чтобы устранить эту ошибку, создайте раздел реестра вручную. To work around the issue, manually create the Registry key.
Панель мониторинга документации в консоли In-console documentation dashboard
Начиная с версии Configuration Manager 1902, в новой рабочей области Сообщества есть узел Документация. Starting in Configuration Manager version 1902, there’s a Documentation node in the new Community workspace. Этот узел содержит актуальную информацию о документации и справочных статьях по Configuration Manager. This node includes up-to-date information about Configuration Manager documentation and support articles. Она включает следующие разделы: It includes the following sections:
Библиотека документации по продукту Product documentation library
- Рекомендуемые. Список важных статей, формируемый вручную. Recommended: a manually curated list of important articles.
- Популярные. Наиболее популярные статьи за последний месяц. Trending: the most popular articles for the last month.
- Недавно обновленные. Статьи, измененные за последний месяц. Recently updated: articles revised in the last month.
Справочные статьи Support articles
- Статьи об устранении неполадок. Пошаговые руководства для устранения неполадок в компонентах и функциях Configuration Manager. Troubleshooting articles: guided walkthroughs to assist with troubleshooting Configuration Manager components and features.
- Новые и обновленные справочные статьи. Справочные статьи, созданные или обновленные за два последних месяца. New and updated support articles: articles that are new or updated in the last two months.
Устранение ошибок подключения Troubleshooting connection errors
Узел Документация не имеет явной конфигурации прокси-сервера. The Documentation node has no explicit proxy configuration. Он использует любой определенный ОС прокси в приложении панели управления Настройки интернета. It uses any OS-defined proxy in the Internet Options control panel applet. Чтобы повторить попытку после ошибки подключения, обновите узел Документация. To retry after a connection error, refresh the Documentation node.
Параметры командной строки Command-line options
Консоль Configuration Manager включает следующие параметры командной строки. The Configuration Manager console has the following command-line options: