Dynamics 365. Полезные скрипты
Иногда для обычной работы c MS Dynamics 365 недостаточно функционала стандартных инструментов или их производительность оставляет желать лучшего. Тогда на помощь приходят скрипты для командной строки или PowerShell.
Contents
Поиск меток
На первом месте расположен самый полезный скрипт. Это скрипт для поиска необходимых меток. Работает в несколько раз быстрее стандартного поиска, а так же обладает более гибкими фильтрами, что позволяет получать более точные результаты. Поддерживает регулярные выражения.
$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. Данный скрипт, а также многие другие полезные скрипты можно найти, перейдя по ссылке в примечании.
Comments
So empty here ... leave a comment!