Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Programme d’installation
Notes
Pour suivre ce guide, vous avez besoin de la build 1.2.1904.02001 ou ultérieure. Pour vérifier votre numéro de build, ouvrez Windows Admin Center et cliquez sur le point d’interrogation en haut à droite.
Si ce n’est pas déjà fait, créez une extension d’outil pour Windows Admin Center. Une fois que vous avez terminé, notez les valeurs utilisées lors de la création d’une extension :
Valeur | Explication | Exemple |
---|---|---|
{!Company Name} |
Nom de votre entreprise (avec espaces) | Contoso |
{!Tool Name} |
Nom de votre outil (avec espaces) | InstallOnNode |
Dans votre dossier d’extension d’outil, créez un Node
dossier ({!Tool Name}\Node
). Tout ce qui est placé dans ce dossier est copié dans le nœud managé lors de l’utilisation de cette API. Ajoutez tous les fichiers nécessaires pour votre cas d’usage.
Créez également un script{!Tool Name}\Node\installNode.ps1
. Ce script est exécuté sur le nœud managé une fois que tous les fichiers sont copiés du dossier {!Tool Name}\Node
vers le nœud managé. Ajoutez une logique supplémentaire pour votre cas d’usage. Un exemple de fichier{!Tool Name}\Node\installNode.ps1
:
# Add logic for installing payload on managed node
echo 'Success'
Notes
{!Tool Name}\Node\installNode.ps1
a un nom spécifique que l’API recherchera. La modification du nom de ce fichier entraîne une erreur.
Intégration avec l’interface utilisateur
Effectuez la mise à jour \src\app\default.component.ts
vers les éléments suivants :
import { Component } from '@angular/core';
import { AppContextService } from '@microsoft/windows-admin-center-sdk/angular';
import { Observable } from 'rxjs';
@Component({
selector: 'default-component',
templateUrl: './default.component.html',
styleUrls: ['./default.component.css']
})
export class DefaultComponent {
constructor(private appContextService: AppContextService) { }
public response: any;
public loading = false;
public installOnNode() {
this.loading = true;
this.post('{!Company Name}.{!Tool Name}', '1.0.0',
this.appContextService.activeConnection.nodeName).subscribe(
(response: any) => {
console.log(response);
this.response = response;
this.loading = false;
},
(error) => {
console.log(error);
this.response = error;
this.loading = false;
}
);
}
public post(id: string, version: string, targetNode: string): Observable<any> {
return this.appContextService.node.post(targetNode,
`features/extensions/${id}/versions/${version}/install`);
}
}
Mettez à jour les espaces réservés avec les valeurs utilisées lors de la création de l’extension :
this.post('contoso.install-on-node', '1.0.0',
this.appContextService.activeConnection.nodeName).subscribe(
(response: any) => {
console.log(response);
this.response = response;
this.loading = false;
},
(error) => {
console.log(error);
this.response = error;
this.loading = false;
}
);
Mettez également à jour \src\app\default.component.html
vers :
<button (click)="installOnNode()">Click to install</button>
<sme-loading-wheel *ngIf="loading" size="large"></sme-loading-wheel>
<p *ngIf="response">{{response}}</p>
Et enfin \src\app\default.module.ts
:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { LoadingWheelModule } from '@microsoft/windows-admin-center-sdk/angular';
import { DefaultComponent } from './default.component';
import { Routing } from './default.routing';
@NgModule({
imports: [
CommonModule,
LoadingWheelModule,
Routing
],
declarations: [DefaultComponent]
})
export class DefaultModule { }
Création et installation d’un package NuGet
La dernière étape consiste à créer un package NuGet avec les fichiers que nous avons ajoutés, puis à installer ce package dans Windows Admin Center.
Suivez le guide Extensions de publication si vous n’avez pas encore créé de package d’extension.
Important
Dans votre fichier .nuspec pour cette extension, il est important que la valeur <id>
corresponde au nom de votre projet manifest.json
et à <version>
ce qui a été ajouté à \src\app\default.component.ts
. Ajoutez également une entrée sous <files>
:
<file src="Node\**\*.*" target="Node" />
.
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="https://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>contoso.install-on-node</id>
<version>1.0.0</version>
<authors>Contoso</authors>
<owners>Contoso</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectUrl>https://msft-sme.myget.org/feed/windows-admin-center-feed/package/nuget/contoso.sme.install-on-node-extension</projectUrl>
<licenseUrl>http://YourLicenseLink</licenseUrl>
<iconUrl>http://YourLogoLink</iconUrl>
<description>Install on node extension by Contoso</description>
<copyright>(c) Contoso. All rights reserved.</copyright>
</metadata>
<files>
<file src="bundle\**\*.*" target="ux" />
<file src="package\**\*.*" target="gateway" />
<file src="Node\**\*.*" target="Node" />
</files>
</package>
Une fois ce package créé, ajoutez un chemin d’accès à ce flux. Dans Windows Admin Center accédez à Paramètres > Extensions > Flux et ajoutez le chemin d’accès à l’emplacement où ce package existe. Une fois l’installation de votre extension terminée, vous devez être en mesure de cliquer sur le bouton install
et l’API est appelée.