@@ -522,9 +522,16 @@ function Register-OpenTelemetryForCurrentSession() {
522522<#
523523 .SYNOPSIS
524524 Setups IIS environment variables to enable automatic instrumentation.
525- Performs IIS reset after registration.
525+ Performs IIS reset after registration by default.
526+ .PARAMETER NoReset
527+ Does not perform IIS reset.
526528#>
527529function Register-OpenTelemetryForIIS() {
530+ param(
531+ [Parameter(Mandatory = $false)]
532+ [bool]$NoReset = $false
533+ )
534+
528535 $installDir = Get-Current-InstallDir
529536
530537 if (-not $installDir) {
@@ -538,7 +545,9 @@ function Register-OpenTelemetryForIIS() {
538545 Setup-Windows-Service -InstallDir $installDir -WindowsServiceName "W3SVC"
539546 Setup-Windows-Service -InstallDir $installDir -WindowsServiceName "WAS"
540547
541- Reset-IIS
548+ if (-not $NoReset) {
549+ Reset-IIS
550+ }
542551}
543552
544553<#
@@ -549,13 +558,17 @@ function Register-OpenTelemetryForIIS() {
549558 Actual Windows service name in registry.
550559 .PARAMETER OTelServiceName
551560 Specifies OpenTelemetry service name to identify your service.
561+ .PARAMETER NoReset
562+ Does not perform service restart.
552563#>
553564function Register-OpenTelemetryForWindowsService() {
554565 param(
555566 [Parameter(Mandatory = $true)]
556567 [string]$WindowsServiceName,
557568 [Parameter(Mandatory = $true)]
558- [string]$OTelServiceName
569+ [string]$OTelServiceName,
570+ [Parameter(Mandatory = $false)]
571+ [bool]$NoReset = $false
559572 )
560573
561574 $installDir = Get-Current-InstallDir
@@ -565,7 +578,10 @@ function Register-OpenTelemetryForWindowsService() {
565578 }
566579
567580 Setup-Windows-Service -InstallDir $installDir -WindowsServiceName $WindowsServiceName -OTelServiceName $OTelServiceName
568- Restart-Service -Name $WindowsServiceName -Force
581+
582+ if (-not $NoReset) {
583+ Restart-Service -Name $WindowsServiceName -Force
584+ }
569585}
570586
571587<#
@@ -624,15 +640,22 @@ function Unregister-OpenTelemetryForIIS() {
624640 Performs service restart after removal.
625641 .PARAMETER WindowsServiceName
626642 Actual Windows service Name in registry.
643+ .PARAMETER NoReset
644+ Does not perform service restart.
627645#>
628646function Unregister-OpenTelemetryForWindowsService() {
629647 param(
630648 [Parameter(Mandatory = $true)]
631- [string]$WindowsServiceName
649+ [string]$WindowsServiceName,
650+ [Parameter(Mandatory = $false)]
651+ [bool]$NoReset = $false
632652 )
633653
634654 Cleanup-Environment-Variables -WindowsServiceName $WindowsServiceName
635- Restart-Service -Name $WindowsServiceName -Force
655+
656+ if (-not $NoReset) {
657+ Restart-Service -Name $WindowsServiceName -Force
658+ }
636659}
637660
638661<#
0 commit comments