Top.Mail.Ru
онлайн-митап
19 декабря в 17:00 МСК
Матрица компетенций: как инструмент для развития разработчика

Dynamics 365. Полезные скрипты

Иногда для обычной работы c MS Dynamics 365 недостаточно функционала стандартных инструментов или их производительность оставляет желать лучшего. Тогда на помощь приходят скрипты для командной строки или PowerShell.

Поиск меток

На первом месте расположен самый полезный скрипт. Это скрипт для поиска необходимых меток. Работает в несколько раз быстрее стандартного поиска, а так же обладает более гибкими фильтрами, что позволяет получать более точные результаты. Поддерживает регулярные выражения.

$packagesDir = 'C:\AOSService\PackagesLocalDirectory\'
$labelFiles = ls $packagesDir\*\*\AxLabelFile\LabelResources\ru\*.txt
$labelFiles | Select-String -Pattern 'Создать настраиваемое оповещение' | select Line, Filename, LineNumber

$packagesDir — путь к окружению
$labelFiles — путь к меточным файлам
-Pattern — текст поиска

Скрипты для запуска и завершения служб

Завершение

Бывает так, что необходимо остановить некоторые или все службы. Например, для увеличения производительности системы или для обновления баз. В этом поможет следующий скрипт.

#Служба DMF
Stop-Service -Name Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe -ErrorAction SilentlyContinue
#Служба пакетной обработки
Stop-Service -Name DynamicsAxBatch -ErrorAction SilentlyContinue
#Служба IIS
Stop-Service -Name W3SVC -ErrorAction SilentlyContinue
#Служба отчетов
Stop-Service -Name MR2012ProcessService -ErrorAction SilentlyContinue
#Служба диагностики LCS
Stop-Service -Name LCSDiagnosticClientService -ErrorAction SilentlyContinue

Запуск

После завершения всех манипуляций нужно будет запустить остановленные службы.

Start-Service -Name Microsoft.Dynamics.AX.Framework.Tools.DMF.SSISHelperService.exe -ErrorAction SilentlyContinue
Start-Service -Name DynamicsAxBatch -ErrorAction SilentlyContinue
Start-Service -Name W3SVC -ErrorAction SilentlyContinue
Start-Service -Name MR2012ProcessService -ErrorAction SilentlyContinue
Start-Service -Name LCSDiagnosticClientService -ErrorAction SilentlyContinue

Скрипты для развертывания отчетов

Для локального окружения

C:\Packages\Plugins\AxReportStartVmRoleStartupTask\DeployAllReportsToSSRS.ps1

Для окружения Azure

C:\AosService\PackagesLocalDirectory\Plugins\AxReportVmRoleStartupTask\DeployAllReportsToSSRS.ps1 -PackageInstallLocation “C:\AosService\PackagesLocalDirectory”

Обновление сертификатов

Так или иначе приходит время, когда у сертификатов истекает срок и их нужно обновить. Далее представлен скрипт для этого.

Set-Location -Path "Cert:\LocalMachine\My"
foreach($OldCert in Get-ChildItem -path Cert:\LocalMachine\My | Where {$_.NotAfter -lt $(get-date).AddMonths(2)})
{
    $OldCert | Select Thumbprint, Subject, Notbefore, NotAfter | Format-Table
    $NewCert = New-SelfSignedCertificate -CloneCert $OldCert -NotAfter (Get-Date).AddMonths(999)
 
    (Get-Content 'C:\AOSService\webroot\web.config').Replace($OldCert.Thumbprint, $NewCert.Thumbprint) | Set-Content 'C:\AOSService\webroot\web.config'
    (Get-Content 'C:\AOSService\webroot\wif.config').Replace($OldCert.Thumbprint, $NewCert.Thumbprint) | Set-Content 'C:\AOSService\webroot\wif.config'
    (Get-Content 'C:\AOSService\webroot\wif.services.config').Replace($OldCert.Thumbprint, $NewCert.Thumbprint) | Set-Content 'C:\AOSService\webroot\wif.services.config'
}

После обновления сертификатов нужно перезапустить службы IIS. Данный скрипт, а также многие другие полезные скрипты можно найти, перейдя по ссылке в примечании.

Примечания

  1. GitHub — d365collaborative/d365fo.tools: Tools used for Dynamics 365 Finance and Operations
  2. Finance and Operations application documentation — Finance & Operations | Dynamics 365 | Microsoft Docs
  3. What is PowerShell? — PowerShell | Microsoft Docs

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar