Develop a solution extension
Solutions primarily define a unique type of object you wish to manage through Windows Admin Center. These solutions/connection types are included with Windows Admin Center by default:
- Windows Server connections
- Windows PC connections
- Failover cluster connections
- Hyper-converged cluster connections
When you select a connection from the Windows Admin Center connection page, the solution extension for that connection's type is loaded, and Windows Admin Center will attempt to connect to the target node. If the connection is successful, the solution extension's UI will load, and Windows Admin Center will display the tools for that solution in the left navigation pane.
If you would like to build a management GUI for services not defined by the default connection types above, such a network switch, or other hardware not discoverable by computer name, you may want to create your own solution extension.
Note
Not familiar with the different extension types? Learn more about the extensibility architecture and extension types.
Prepare your environment
If you haven't already, prepare your environment by installing dependencies and global prerequisites required for all projects.
Create a new solution extension with the Windows Admin Center SDK
Once you have all the dependencies installed, you are ready to create your new solution extension. Create or browse to a folder that contains your project files, open a command prompt, and set that folder as the working directory. Using the Windows Admin Center SDK that was installed previously, create a new extension with the following syntax:
wac create --company "{!Company Name}" --solution "{!Solution Name}" --tool "{!Tool Name}" --version latest
Value | Explanation | Example |
---|---|---|
{!Company Name} |
Your company name (with spaces) | Contoso Inc |
{!Solution Name} |
Your solution name (with spaces) | Contoso Foo Works Suite |
{!Tool Name} |
Your tool name (with spaces) | Manage Foo Works |
Here's an example usage:
wac create --company "Contoso Inc" --solution "Contoso Foo Works Suite" --tool "Manage Foo Works"
This creates a new folder inside the current working directory using the name you specified for your solution, copies all the necessary template files into your project, and configures the files with your company, solution, and tool name.
Note
The --version flag in this command specifies which version of the Windows Admin Center SDK you'd like to target. Read about how to target a different version of the Windows Admin Center SDK to keep up your extension up to date with the latest SDK and platform changes.
Next, change directory into the folder just created, then install required local dependencies by running the following command:
npm install
Once this completes, you've set up everything you need to load your new extension into Windows Admin Center.
Add content to your extension
Now that you've created an extension with the Windows Admin Center SDK, you are ready to customize content. See these guides for examples of what you can do:
- Add an empty module
- Add an iFrame
- Create a custom connection provider
- Modify root navigation behavior
Even more examples can be found in our Developer Guide. The Developer Guide is a fully functioning solution extension that can be side-loaded into Windows Admin Center, and contains a rich collection of sample functionality and tool examples that you can browse and use in your own extension.
Enable the Developer Guide extension on the Advanced page of your Windows Admin Center settings.
Build and side load your extension
Next, build and side load your extension into Windows Admin Center. Open a command window, change directory to your source directory, then you're ready to build.
Build and serve with gulp:
gulp build gulp serve --port 4201
Note that you need to choose a port that is currently free. Make sure you do not attempt to use the port that Windows Admin Center is running on.
Your project can be side loaded into a local instance of Windows Admin Center for testing by attaching the locally served project into Windows Admin Center.
Launch Windows Admin Center in a web browser
Open the debugger (F12)
Open the Console and type the following command:
MsftSme.sideLoad("http://localhost:4201")
Refresh the web browser
Your project will now be visible in the Tools list with (side loaded) next to the name.