protected override void ProcessSession(ScriptSession session) { if (session.State != RunspaceAvailability.Busy) { return; } if (!ShouldProcess(session.ID, "Abort running script session")) { return; } if (session.ID != CurrentSessionId) { session.Abort(); } else { WriteError(typeof(CmdletInvocationException), $"The current script session with Id '{session.ID}' cannot be stopped.", ErrorIds.ScriptSessionCannotBeStopped, ErrorCategory.ResourceBusy, session.ID ?? string.Empty); } WriteObject(session); }