AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2016, 17:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,459 / 846 (79) +++++++
Регистрация: 28.10.2006
jaestevan: PowerShell para la administración automática de Dynamics AX 2012 (PS-II)
Источник: http://www.jaestevan.com/powershell-...-ax-2012-ps-ii
==============

En la primera entrega de esta serie sobre PowerShell y DevOps para Microsoft Dynamics AX 2012  hablábamos sobre los principios más básicos de PowerShell y su sintaxis. También vimos en post anteriores como PowerShell se puede usar de formas bastante creativas.



Esta vez vamos a ver los comandlets específicos para la administración de Microsoft Dynamics AX 2012, que podemos separar en varias familias:

Gestión de Modelos y la Model Store

Estos comandlets son muy importantes y van a ser la base de nuestra estrategia DevOps, combinada con los procesos builds automáticos que tendremos configurados en nuestro TFS, si es que los utilizamos.

La combinación de estos componentes va a permitirnos diseñar procesos que actualicen automáticamente nuestros entornos, orientando nuestros procesos hacia la integración o el despliegue continuo de nuestros entornos, especialmente entornos de desarrollo y/o pruebas. Hablaremos sobre esto en los siguientes posts de esta serie.

Estos son los que normalmente utilizamos para estas tareas, aunque vale la pena echar un vistazo a la referencia completa porque todos pueden ser útiles para tareas concretas o para scripts que automaticen tareas más completas:

Modelos

ComandoDescripciónNew-AXModel Crea un nuevo modelo en la Model StoreUninstall-AXModel Elimina un modelo de la Model StoreInstall-AXModel Importa un modelo (desde un fichero) en la Model StoreExport-AXModel Exporta un model de la Model Store a un fichero .axmodelMove-AXModel Mueve los objetos de un modelo a otro modelo, combinando todos los objetos en este último.

Model Store

ComandoDescripciónImport-AXModelStore Importa una Model Store (desde un fichero)Export-AXModelStore Exporta una Model Store a un fichero fichero .axmodelstoreInitialize-AXModelStore Inicializa una model store para ser utilizada.
 Es recomendable utilizar este comando después de algunas tareas de mantenimiento.Optimize-AXModelStore Optimiza y reindexa la model store para mejorar su rendimiento.
 Es recomendable utilizar este comando después de algunas tareas de mantenimiento.Set-AXModelStore Asigna a la Model Store ciertos flags que indican las acciones que se han realizado sobre ella. Estos flags van a influir, por ejemplo, en si se muestra o no la cabina de actualización de modelo al iniciar un cliente, y son:</p>
  • InstallMode (mostrar cabina);
  • NoInstallMode (no mostrar cabina)
Gestión y despliegue de informes y Reporting Services

La gestión de informes es otra de las tareas que podemos automatizar dentro de nuestras builds o scripts de despliegue. Aquí dejo los comandos más utilizados pero hay muchos más, consultad la referencia completa para verlos todos:

ComandoDescripciónPublish-AXReport Publica un informe desde el AOS hacia el Report Rerver de SSRS.</p> Es recomendable revisar la documentación de este comando porque tiene varios parámetros muy interesantes para desplegar informes de manera optimizada.Test-AXReportServerConfiguration Comprueba la configuración y la conectividad entre el AOS y el Report Server. Este comando es útil si tenemos problemas con el despliegue o la impresión de informes, para detectar posibles configuraciones erróneas o qué partes del sistema pueden estar fallando.Get-AXReportServerConfiguration Muestra la configuración actual, incluyendo la mostrada en el formulario correspondiente en Dynamics AX 2012 y algunos parámetros extra.Get-AXReport Muestra información sobre el informe como la fecha de creación/modificación, el usuario que lo ha modificado, la lista de diseños, el correspondiente proyecto de Visual Studio en el AOT, etc.

Este comando es muy útil sobre todo cuando se usa en scripts de despliegue pero a veces es útil también utilizado directamente en la consola para obtener información de cualquier informe que esté dando problemas.Gestión de usuarios y artefactos de seguridad

Otra tarea que es muy propia de su utilización tanto en consola como en scripts de automatización de tareas es la gestión de usuarios, y en el caso de AX, también de roles de seguridad.

Cabe recordar que como veremos, PowerShell no se limita al manejo de AX sino que incluye todas las funcionalidades de Windows, con lo que estos comandos se pueden utilizar junto a los propios de la gestión de Active Directory para la creación, mantenimiento y supervisión automática de los usuarios en AX en base a los cambios en el dominio.

Usuarios

ComandoDescripciónNew-AXUser Crea un nuevo UsuarioDisable-AXUser Desactiva un UsuarioGet-AXUser Devuelve una lista con todos los Usuarios


 Este comando devuelve, entre otras informaciones útiles sobre cada usuario, su SID en Active Directory, por lo que resulta el punto de enlace ideal entre la seguridad de Dynamics AX y los usuarios del dominio.Roles

ComandoDescripciónNew-AXSecurityRole Crea un Rol de seguridadRemove-AXSecurityRole Elimina un Rol de seguridadAdd-AXSecurityRoleMember Añade un Usuario a un RolGet-AXSecurityRole Devuelve una lista con los Roles que tiene asignado un UsuarioGet-AXSecurityRoleMember Devuelve una lista con los Usuarios asignados a un RolGet-AXSecurityRoleInfo Devuelve información sobre todos los Roles existentes en el sistemaDebo insistir en revisar la referencia completa, no tiene sentido reproducir aquí la toda la lista de comandos disponibles por eso he puesto sólo los más relevantes, pero hay muchos más y es interesante conocerlos:
No sólo de AX vive el hombre

Hasta aquí he hablado sólo de los comandlets disponibles dentro de las herramientas de administración de Dynamics AX 2012. Pero no debemos limitarnos a esto. Para realizar tareas de automatización complejas vamos a necesitar integrarnos con el resto del sistema y utilizar no sólo los comandos genéricos de PowerShell sino los que vienen con el resto de productos que utilicemos como Analysis Services, Sharepoint, Active Directory, SQL Server, servicios de Azure, … cualquier producto de Microsoft tiene su correspondiente módulo de PowerShell para interactuar con sus componentes.

Por ejemplo, hace un tiempo mostré como obtener información la información de los usuario susuarios en Active Directory desde X++, esto mismo se puede hacer desde PowerShell para ser reutilizado rápidamente por los administradores sin necesidad de abrir AX; También mostré hace tiempo cómo utilizar PowerShell para asignar nuestro usuario activo a una base de datos de AX que hemos restaurado desde otro dominio para hacernos administradores, como ejemplo de uso del módulo de SQL Server. Y así podríamos seguir…

Ejemplos de módulos que vamos a utilizar:
El uso de estos módulos es bastante intuitivo, tras importar el módulo correspondiente con Import-Module podemos utilizar los comandlets que ya vimos en nuestra introducción a PowerShell tales como Get-Command y Get-Help para obtener cuales son los comandos disponibles y cómo utilizarlos.



Reutilizar es la clave

Como sucede con el resto de consolas y lenguajes de script, siempre hay que intentar evitar reinventar la rueda desarrollando scripts que muy probablemente alguien haya hecho antes que nosotros. Buscando en internet se pueden encontrar scripts para realizar prácticamente cualquier tarea de administración usando PowerShell.

Además, hay varias iniciativas para publicar scripts específicos para el uso con Microsoft Dynamics AX 2012, el más notable creo yo es el paquete de scripts publicado por Martin Dráb en codeplex y que incluye acciones para casi todas las fases de un despliegue automático. Prácticamente podemos montar un sistema de builds y actualización de entornos utilizando sólo PowerShell.

Puede que este paquete te sirva o puede que no, pero en cualquier caso se puede aprender mucho de ese código y es una buena base para desarrollar los tuyos propios, ya que incluye buenas ideas específicas para conectar a servidores AX. Se puede descargar aquí:
Extra

Como nota final voy a comentar un artículo que, más que por su utilidad real, vale la pena revisar por sus posibilidades. Recordemos que desde PowerShell se pueden utilizar ensamblados de .NET y eso incluye por supuesto el .NET Business Connector de AX. En este artículo nos enseñan un ejemplo de esta utilización, tenga sentido o no
Y hasta aquí esta segunda parte, que tras la primera introducción va a ser el punto de partida para desarrollar nuestros scripts de ¡DevOps para AX 2012!



Источник: http://www.jaestevan.com/powershell-...-ax-2012-ps-ii
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
Sample Design Patterns: Book Give-away: 'Microsoft Dynamics AX 2012 Development Cookbook' Blog bot DAX Blogs 1 12.05.2012 16:55
Dynamics AX Sustained Engineering: Servicing of Dynamics AX 2012 and Dynamics AX 2012 Feature Pack Blog bot DAX Blogs 0 08.05.2012 23:12
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35
german_nav_developer: Buildnummern-Übersicht Microsoft Dynamics NAV 2009 SP1 Blog bot Dynamics CRM: Blogs 0 11.06.2010 16:33
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:02.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.