Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# EditorConfig helps maintain consistent coding styles
root = true

[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

[*.md]
# Keep Markdown tidy; code blocks remain untouched by trim rule exceptions
trim_trailing_whitespace = true
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Require review from maintainers for key areas
* @iplaycomputer

# Optional: expand with more granular ownership as project grows
# /kb/ @iplaycomputer
# /labs/ @iplaycomputer
# /tickets/ @iplaycomputer
# /scenarios/ @iplaycomputer
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,43 @@
## Summary

Check failure on line 1 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

First line in a file should be a top-level heading

.github/PULL_REQUEST_TEMPLATE.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Summary"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md

Check failure on line 1 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:1 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Summary"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md

Check failure on line 1 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

First line in a file should be a top-level heading

.github/PULL_REQUEST_TEMPLATE.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Summary"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md

Check failure on line 1 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:1 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Summary"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
Briefly describe what this PR adds or changes.

## Linked Artifacts (relative paths)

Check failure on line 4 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:4 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Linked Artifacts (relative paths)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md

Check failure on line 4 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:4 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Linked Artifacts (relative paths)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
- Ticket(s): /tickets/[file].md

Check failure on line 5 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:5 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- Ticket(s): /tickets/[file].m..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md

Check failure on line 5 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:5 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- Ticket(s): /tickets/[file].m..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
- KB: /kb/[file].md
- Lab: /labs/[file].md (optional)
- Scenario: /scenarios/[file].md (optional)

## Checklists

Check failure on line 10 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:10 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Checklists"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md

Check failure on line 10 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:10 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Checklists"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
- Content

Check failure on line 11 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:11 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- Content"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md

Check failure on line 11 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:11 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- Content"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
- [ ] Uses the correct template (copied from 000.*-template.md)
- [ ] Clear, reproducible steps and plain language
- [ ] Relative links resolve inside the repo
- [ ] Avoid duplication across modules (KB = productized steps; Lab = full commands + Verification; Scenario = flow/success, links only)
- [ ] Deep link to sections where applicable (KB → #resolution-steps, Lab → #verification)
- Metadata
- [ ] Owner set; Last Reviewed and Next Review Due (KB/Lab)
- [ ] Escalation Path filled (Ticket)
- [ ] Metrics block added if useful (see docs/METRICS.md)
- Quality
- [ ] Verification steps included (expected outputs / pass-fail)
- [ ] Anchors exist and resolve (KB “Resolution Steps”, Lab “Verification”)
- [ ] Scenario (if present) ties Ticket → KB → Lab and defines success criteria

### Labs (if included)

Check failure on line 26 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:26 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "### Labs (if included)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md

Check failure on line 26 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:26 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "### Labs (if included)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
- [ ] Dedicated “Verification” section with expected outputs

Check failure on line 27 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:27 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- [ ] Dedicated “Verification”..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md

Check failure on line 27 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:27 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- [ ] Dedicated “Verification”..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
- [ ] Images pinned if using containers; HTTP services include a simple healthcheck when applicable
- [ ] Assets stored under `labs/<lab>/assets/`

### KBs (if included)

Check failure on line 31 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:31 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "### KBs (if included)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md

Check failure on line 31 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Headings should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:31 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "### KBs (if included)"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
- [ ] Brief (1–2 lines) verification; link to related Lab for full commands

Check failure on line 32 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:32 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- [ ] Brief (1–2 lines) verifi..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md

Check failure on line 32 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / lint

Lists should be surrounded by blank lines

.github/PULL_REQUEST_TEMPLATE.md:32 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- [ ] Brief (1–2 lines) verifi..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md

### Scenarios (if included)
- [ ] Uses deep links to KB “Resolution Steps” and Lab “Verification” (no step duplication)

## Notes
Add screenshots, logs, or context as needed.

## How to Verify (for reviewers)
- Click Related KB/Lab links and confirm they jump to the correct anchors.
- If a Lab changed, run the Verification steps and confirm expected outputs.
- Check that no personal IPs or credentials are included; use `<vm-ip>` placeholders.
7 changes: 7 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
This repo simulates real helpdesk workflows using Markdown contributions. Agents should prioritize clarity, reproducibility, and alignment with the troubleshooting standards in `CONTRIBUTING.md`.

## Big Picture

- Four modules map to real workflows:
- Tickets (`/tickets/`): user-reported issues
- Knowledge Base (`/kb/`): solution docs derived from tickets
Expand All @@ -11,13 +12,15 @@ This repo simulates real helpdesk workflows using Markdown contributions. Agents
- Use templates in each folder (`000.*-template.md`).

## Key Files

- `CONTRIBUTING.md`: Primary standards, workflows, and references (CompTIA A+ model, escalation, templates).
- `docs/lamp-osticket-setup.md`: Optional local osTicket setup to test tickets/KBs.
- `docs/ROLES.md`: Lightweight tiers, escalation cues, and ownership metadata.
- `docs/METRICS.md`: Simple fields for MTTR, recurrence, and verification.
- `README.md`: Project overview and contribution on-ramp.

## Authoring Patterns

- Follow CompTIA A+ 6-step model: Identify → Theory → Test → Plan/Implement → Verify → Document.
- Keep language plain and steps reproducible. Include environment details (OS/version), verification, and escalation path.
- Link artifacts with relative paths (e.g., `/tickets/printer-failure.md` in KB/Lab/Scenario).
Expand All @@ -28,20 +31,24 @@ This repo simulates real helpdesk workflows using Markdown contributions. Agents
- Scenarios should express flow and success criteria, linking to KB "Resolution Steps" and Lab "Verification" sections (use deep links like `/kb/foo.md#resolution-steps` and `/labs/bar.md#verification`).

## Workflows

- Propose in Discussions: draft tickets/KBs/labs in appropriate categories.
- Land changes via PRs adding Markdown under `/tickets`, `/kb`, `/labs`, `/scenarios`.
- Labs should be verifiable on a Linux VM or container; osTicket is optional.

## Examples from Repo

- Templates: `kb/000.kb-template.md`, `labs/000.lab-template.md`, `tickets/000.ticket-template.md`, `scenarios/000.scenario-template.md`.
- osTicket URLs referenced use `http://<vm-ip>/osticket/` and `.../scp` for staff; replace `<vm-ip>` locally and do not share it publicly.

## Conventions

- Filenames: use kebab-case, concise, and descriptive (e.g., `printer-spooler-restart.md`).
- Metadata blocks: include Category, Environment, Owner, Reviewed dates when applicable.
- References: cite external docs in a final section; prefer vendor support links.

## What NOT to do

- Don’t invent infrastructure or public endpoints; this repo is markdown-only.
- Don’t add personal IPs or credentials.

Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: markdownlint

on:
pull_request:
push:
branches: [ main ]

jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run markdownlint-cli2
uses: DavidAnson/markdownlint-cli2-action@v16
with:
globs: |
**/*.md
6 changes: 6 additions & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
// Inherit rules from .markdownlint.jsonc and set default globs
"config": ".markdownlint.jsonc",
"globs": ["**/*.md"],
"ignores": ["**/node_modules/**", ".git/**"]
}
8 changes: 8 additions & 0 deletions .markdownlint.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
// Allow long lines in code blocks and tables
"MD013": false,
// Allow consecutive headings in templates/checklists
"MD025": false,
// Allow inline HTML when needed (README badges)
"MD033": false
}
8 changes: 8 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.eol": "\n",
"[markdown]": {
"editor.formatOnSave": true
}
}
7 changes: 4 additions & 3 deletions labs/htpasswd-auth-reset.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,13 @@ Simulate a credential reset and prove the fix with a protected endpoint.
# Expect 200
```

## Verification
```powershell
## Verification

```powershell
$pair = "user:newpass"; $b64 = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($pair));
Invoke-WebRequest http://localhost:8090/secure -UseBasicParsing -Headers @{ Authorization = "Basic $b64" } | Select-Object -ExpandProperty StatusCode
# Expect: 200
```
```

## Cleanup
```powershell
Expand Down
7 changes: 4 additions & 3 deletions labs/mailhog-connectivity.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,12 @@ Use MailHog to practice diagnosing "client disconnected / prompting" symptoms.
5) Verify in UI
- Browse http://localhost:8025 and confirm the message is present.

## Verification
```powershell
## Verification

```powershell
Invoke-WebRequest http://localhost:8025 -UseBasicParsing | Select-Object -ExpandProperty StatusCode
# Expect: 200 (and message visible in UI)
```
```

## Cleanup
```powershell
Expand Down
7 changes: 4 additions & 3 deletions labs/print-queue-stuck.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,12 @@ Reproduce a stuck print queue and practice clearing jobs and restarting the "spo
docker exec print-queue cat /queue/processed.txt
```

## Verification
```powershell
## Verification

```powershell
docker exec print-queue cat /queue/processed.txt
# Expect: remaining job name present; queue stable
```
```

## Cleanup
```powershell
Expand Down
7 changes: 4 additions & 3 deletions labs/resource-spike-triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@ Practice identifying and resolving resource spikes that cause slowness.
# Expect CPU usage back to normal
```

## Verification
```bash
## Verification

```bash
top -b -n 1 | head -n 20
# Expect: CPU/Disk normalized; no stress-ng running
```
```

## Cleanup
```bash
Expand Down
3 changes: 3 additions & 0 deletions scenarios/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@
End-to-end flows that link Ticket → KB → Lab. Use scenarios to tell the story and define success criteria.

- Template: [000.scenario-template.md](./000.scenario-template.md)

- Good scenarios include:
- A realistic ticket with symptoms and constraints
- A KB solution path with alternatives
- A lab to practice and verify
- Clear acceptance/success criteria

Conventions:

- Name scenarios clearly (e.g., `printer-spooler-end-to-end.md`).
- Link artifacts with relative paths; avoid external private endpoints.

4 changes: 2 additions & 2 deletions scenarios/account-lockout-reset.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Scenario: Account lockout and password reset

- Related Ticket: /tickets/account-locked-out.md
- Related KB: /kb/account-lockout-reset.md
- Related Lab: /labs/htpasswd-auth-reset.md
- Related KB: /kb/account-lockout-reset.md#resolution-steps
- Related Lab: /labs/htpasswd-auth-reset.md#verification

## Flow
1. User reports lockout; verify identity and account status.
Expand Down
7 changes: 5 additions & 2 deletions scenarios/outlook-reconnect-after-update.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Scenario: Outlook reconnect after update

- Related Ticket: /tickets/outlook-disconnected-password-prompts.md
- Related KB: /kb/outlook-reconnect-after-update.md
- Related Lab: /labs/mailhog-connectivity.md
- Related KB: /kb/outlook-reconnect-after-update.md#resolution-steps
- Related Lab: /labs/mailhog-connectivity.md#verification

## Flow
1. Validate credentials on another system; check VPN if remote.
2. Confirm connectivity; recreate profile or clear cached credentials as needed.
3. In lab, use MailHog to verify SMTP is reachable and a test message is captured.


## Success Criteria
-
- MailHog shows the test message; service reachable.
- Ticket notes profile/cache actions; KB drafted with steps.

7 changes: 5 additions & 2 deletions scenarios/printer-queue-clearing.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Scenario: Department-wide printer outage (queue clearing)

- Related Ticket: /tickets/cannot-print-to-shared-printer.md
- Related KB: /kb/printer-queue-clearing.md
- Related Lab: /labs/print-queue-stuck.md
- Related KB: /kb/printer-queue-clearing.md#resolution-steps
- Related Lab: /labs/print-queue-stuck.md#verification

## Flow
1. Confirm scope (multiple users); check server queue/state.
2. Clear stuck job(s); restart the service.
3. In lab, simulate stuck queue; clear oldest job; restart consumer.


## Success Criteria
-
- Queue shows processed jobs and accepts new test job.
- Ticket documents scope, remediation, and server-side action; KB drafted.

7 changes: 5 additions & 2 deletions scenarios/workstation-performance-triage.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Scenario: Workstation performance triage

- Related Ticket: /tickets/computer-running-slow-lagging.md
- Related KB: /kb/workstation-performance-triage.md
- Related Lab: /labs/resource-spike-triage.md
- Related KB: /kb/workstation-performance-triage.md#resolution-steps
- Related Lab: /labs/resource-spike-triage.md#verification

## Flow
1. Compare internal vs external latency; check local resource usage.
2. Identify culprit (scan/update/runaway process); apply remediation.
3. In lab, trigger and stop a synthetic load; verify usage returns to normal.


## Success Criteria
-
- CPU/Disk usage normalizes; simple command completes fast.
- Ticket lists root cause and remediation; KB drafted.

22 changes: 15 additions & 7 deletions tickets/000.ticket-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,26 @@
**Impact:** Single user | Department | Organization-wide
**Urgency:** Low (no workflow impact) | Medium (work slowed) | High (work blocked)

**Problem:** [One-line description of the issue]
**Symptoms:** [What the user sees or experiences]
**Environment:** [OS, system, or software version]
## Problem
[One-line description of the issue]

## Symptoms
[What the user sees or experiences]

## Environment
[OS, system, or software version]

## Troubleshooting Steps Taken

**Troubleshooting Steps Taken:**
- [ ] [Step 1, e.g., "Checked printer connection"]
- [ ] [Step 2, e.g., "Restarted Print Spooler service"]

**Resolution:**
[Steps to resolve, or "TBD" if unknown]
## Resolution
[Steps to resolve, or "TBD" if unknown]

## Escalation Path

**Escalation Path:**
- [ ] Tier 1 complete (basic troubleshooting done)
- [ ] Escalated to Tier 2 (e.g., for driver issues)
- [ ] Escalated to Tier 3 (e.g., for hardware replacement)

4 changes: 4 additions & 0 deletions tickets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,22 @@
User-reported issues. Start here when simulating a helpdesk intake.

- Template: [000.ticket-template.md](./000.ticket-template.md)

- How to write good tickets:
- Be specific about symptoms, environment, and what changed.
- Include simple reproduction steps if known.
- Avoid credentials or personal IPs.

Conventions:

- Use kebab-case filenames (e.g., `printer-wont-print.md`).
- Link related KBs/labs/scenarios with relative paths.
- Follow the CompTIA A+ 6-step model in your troubleshooting notes.

Examples:

- [Account locked out – cannot log in](./account-locked-out.md)
- [Cannot print to shared Finance printer](./cannot-print-to-shared-printer.md)
- [Outlook disconnected and password prompts](./outlook-disconnected-password-prompts.md)
- [Computer is running extremely slow / lagging](./computer-running-slow-lagging.md)

3 changes: 3 additions & 0 deletions tickets/account-locked-out.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
**Environment:** Windows desktop joined to AD; remote services (email/VPN) affected.

**Troubleshooting Steps Taken:**
-
- [ ] Verified user identity via secondary info (DOB, employee ID)
- [ ] Checked AD status for JDoe
- [ ] If locked, unlocked account
Expand All @@ -27,6 +28,8 @@
[TBD]

**Escalation Path:**
-
- [ ] Tier 1 complete (basic checks and unlock/reset)
- [ ] Escalated to Tier 2 (e.g., repeated lockouts, MFA issues)
- [ ] Escalated to Tier 3 (directory service problems)

3 changes: 3 additions & 0 deletions tickets/cannot-print-to-shared-printer.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
**Environment:** Windows clients printing via central print server.

**Troubleshooting Steps Taken:**
-
- [ ] Confirmed print server is running and reachable
- [ ] Remotely checked client printer driver/port
- [ ] Cleared local print queue; attempted test page
Expand All @@ -27,6 +28,8 @@
[TBD]

**Escalation Path:**
-
- [ ] Tier 1 complete (client/queue verification)
- [ ] Escalated to Tier 2 (server-side queue/driver)
- [ ] Escalated to Tier 3 (hardware/network issue)

Loading