Utilisation de Windows PowerShell® afin d’automatiser des actions dans PowerAMC
Étapes :
- Lancer une fenêtre MS-DOS
- Taper « Powershell » et appuyer sur la touche <Retour>
- Au niveau du curseur tapez la commande suivante : $pd = new-object -com poweramc.application
- La commande permet d’informer Windows Powershell® qu’il doit démarrer « PowerAMC » au titre d’un objet COM.
- $pd est une référence sur le nouvel objet COM qui sera créé
- Windows Powershell® lance l’exécution de PowerAMC
- La commande suivante permet d’obtenir la liste des méthodes et des propriétés qui sont disponibles par l’entremise de PowerAMC
- $pd | get-member
TypeName: System.__ComObject#{57c91ea5-68ef-4877-bb3e-757b12ecae55}
Liste des méthodes et des propriétés PowerAMC
Name | MemberType | Definition |
---|---|---|
---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
BeginTransaction | Method | void BeginTransaction () |
CancelTransaction | Method | void CancelTransaction () |
ConvertToUTF16 | Method | void ConvertToUTF16 (string, string) |
ConvertToUTF8 | Method | void ConvertToUTF8 (string, string) |
CreateModel | Method | BaseObject CreateModel (int, string, OpenModelFlags) |
CreateModelFromTemplate | Method | BaseObject CreateModelFromTemplate (string, OpenModelFlags) |
CreateModelWithDialog | Method | BaseObject CreateModelWithDialog (int, string, OpenModelFlags) |
EndTransaction | Method | void EndTransaction () |
EvaluateNamedPath | Method | string EvaluateNamedPath (string, bool, bool) |
ExecuteCommand | Method | string ExecuteCommand (string, string, CommandExecutionMode) |
FileImport | Method | BaseObject FileImport (string, string, int, string, OpenModelFlags) |
GetModuleForModelFile | Method | BaseObject GetModuleForModelFile (string) |
IsKindOf | Method | bool IsKindOf (int, int) |
MapToNamedPath | Method | string MapToNamedPath (string) |
NewGUID | Method | string NewGUID () |
newPoint | Method | APoint newPoint (int, int) |
NewPtList | Method | PtList NewPtList () |
NewRect | Method | ARect NewRect (int, int, int, int) |
OpenModel | Method | BaseObject OpenModel (string, OpenModelFlags) |
Output | Method | void Output (string) |
ProfileSnap | Method | void ProfileSnap (string, bool, int) |
Progress | Method | BaseObject Progress (string, bool) |
Rtf2Ascii | Method | string Rtf2Ascii (string) |
Rtf2Html | Method | string Rtf2Html (string) |
ShowHelp | Method | void ShowHelp (int) |
ActiveDiagram | Property | BaseObject ActiveDiagram () {get} |
ActiveGlossary | Property | BaseObject ActiveGlossary () {get} |
ActiveModel | Property | BaseObject ActiveModel () {get} |
ActivePackage | Property | BaseObject ActivePackage () {get} |
ActiveSelection | Property | ObjectSet ActiveSelection () {get} |
ActiveWorkspace | Property | BaseObject ActiveWorkspace () {get} |
CheckPermissionsMode | Property | bool CheckPermissionsMode () {get} {set} |
EclipseWorkspace | Property | string EclipseWorkspace () {get} |
ExternalClientAdapter | Property | IDispatch ExternalClientAdapter () {get} |
HomeDirectory | Property | string HomeDirectory () {get} |
InteractiveMode | Property | InteractiveModeValue InteractiveMode () {get} {set} |
LicenceParameters | Property | string LicenceParameters () {get} |
LicenceStatus | Property | string LicenceStatus () {get} |
Locked | Property | bool Locked () {get} {set} |
MainWindowHandle | Property | LONG_PTR MainWindowHandle () {get} |
MetaModel | Property | BaseObject MetaModel () {get} |
Models | Property | ObjectSet Models () {get} |
PicturesTransparentColor | Property | OLE_COLOR PicturesTransparentColor () {get} {set} |
RegistryHome | Property | string RegistryHome () {get} |
RepositoryConnection | Property | BaseObject RepositoryConnection () {get} |
ScriptInputArray | Property | Variant ScriptInputArray () {get} |
ScriptInputParameters | Property | string ScriptInputParameters () {get} |
ScriptResult | Property | string ScriptResult () {get} {set} |
ShowMode | Property | bool ShowMode () {get} {set} |
UserDataDictionary | Property | IStringDataDictionary UserDataDictionary () {get} |
UserName | Property | string UserName () {get} |
ValidationMode | Property | bool ValidationMode () {get} {set} |
Version | Property | string Version () {get} |
Viewer | Property | bool Viewer () {get} |
$model=$pd.CreateModel([PdPDM.PdPDM_Classes]::cls_Model,"|Diagram=PhysicalDiagram",0) $model.name ="MY_PDM" $diagram=$model.PhysicalDiagrams.Item(0) $tbl=$model.CreateObject([PdPDM.PdPDM_Classes]::cls_Table,"" , -1, $false) $tbl.Name="Client" $tbl.Code="Client" $tbl.Comment="Table Client" $tbl.Description="Liste des clients de l'entreprise" $coln=$tbl.Columns.CreateNew([PdPDM.PdPDM_Classes]::cls_Column) $coln.Name="ID" $coln.Code="ID" $coln.DataType="integer"; $coln.Primary=$true $diagram.AttachObject($tbl)
Rendez-vous dans PowerAMC et vous constaterez que la table « CLIENT » a été créé.
D’autre part vous pouvez sauvegarder le code ci-dessus dans un fichier avec l’extension « .ps1 ». À titre d’exemple vous pouvez créer le fichier « CreateTable.ps1 » et afin de lancer l’exécution et la création de la table vous taper « CreateTable.ps1 » <Retour> au niveau de la ligne de commande de Windows Powershell®