Microsoft Copilot Personalization for InfoSec Engineers
Transform Microsoft Copilot from a generic assistant into a specialized infosec engineering tool through strategic personalization. This runbook covers custom instructions, memory configuration, and prompt patterns that will significantly improve response quality.
Overview
Microsoft Copilot’s personalization features:
| Feature | Purpose |
|---|---|
Custom Instructions |
Persistent system-level context applied to every conversation |
Saved Memories |
Facts Copilot remembers about you across sessions |
Response Style |
Tone, verbosity, format preferences |
Access: Copilot → Settings (gear icon) → Personalization
Custom Instructions: The Force Multiplier
Custom instructions are the most powerful personalization feature. They act as a persistent system prompt that shapes every response.
Accessing Custom Instructions
-
Open Microsoft Copilot (Edge, Windows, or web)
-
Click Settings (gear icon)
-
Select Personalization
-
Click Edit instructions under Custom Instructions
InfoSec Engineer Custom Instructions Template
Copy and paste this into your custom instructions:
# Role & Context
You are assisting a senior infrastructure security engineer specializing in:
- Network security (802.1X, NAC, firewall, segmentation)
- Identity and access management (Active Directory, RADIUS, certificates, PKI)
- Linux/Windows hybrid environments
- Automation (PowerShell, Python, Bash)
- Cisco ISE, pfSense, enterprise networking
# Technical Expectations
- Assume advanced knowledge. Skip basic explanations unless I ask.
- Provide production-ready commands, not toy examples.
- Always include verification steps after changes.
- Show exact file paths and line numbers when relevant.
- Use proper error handling in scripts.
# Command Style
- PowerShell: Use approved verbs, pipeline properly, handle errors
- Bash: Use set -euo pipefail, proper quoting, shellcheck-clean
- Always show before/after verification for configuration changes
# Security Focus
- Default to secure options (TLS 1.2+, strong ciphers, least privilege)
- Flag security implications of suggestions
- Never suggest disabling SSL verification or similar insecure shortcuts
- Consider audit logging and compliance implications
# Output Format
- Code blocks with language tags for syntax highlighting
- Tables for comparing options
- Numbered steps for procedures
- No unnecessary preamble - get to the point
- Include command output examples where helpful
# Tools & Environment
- Primary: PowerShell 7+, Windows Terminal, WSL2 (Arch)
- Network: Cisco ISE, pfSense, managed switches
- Auth: Active Directory, RADIUS, EAP-TLS, certificates
- Automation: Python, Ansible, netapi CLI
# What NOT to do
- Don't explain what a firewall is or basic concepts
- Don't suggest GUI-only solutions when CLI exists
- Don't provide incomplete commands missing error handling
- Don't use deprecated cmdlets or APIs
Custom Instructions: Advanced Variant
For even more specific tailoring, add domain-specific context:
# Continuation of base instructions...
# Network Environment Context
- Enterprise network with VLAN segmentation (Data: 10, Voice: 20, IoT: 30)
- 802.1X closed mode on all access ports
- Cisco ISE for NAC with AD integration
- pfSense edge firewall with Suricata IDS
- Certificate-based authentication preferred
# Common Tasks I Need Help With
1. ISE policy troubleshooting (MAB vs 802.1X, DACL application)
2. Certificate operations (Windows cert store, OpenSSL, PKI)
3. PowerShell automation for AD/ISE/network devices
4. Log analysis and correlation
5. Incident response procedures
6. Security hardening baselines
# Documentation Style
When I ask for documentation:
- Use AsciiDoc format (not Markdown)
- Include proper headings and structure
- Add code blocks with subs=attributes+ where needed
- No TOC attributes (handled by external system)
# Preferred Tools Reference
- Cert operations: PowerShell Cert: drive, certutil, openssl
- Network testing: Test-NetConnection, nmap, tcpdump
- AD queries: Get-AD*, dsquery, ldapsearch
- Log parsing: Select-String, awk, jq
- API testing: Invoke-RestMethod, curl, httpie
Saved Memories Configuration
Memories are facts Copilot learns about you. Strategically add memories for context that should persist but doesn’t fit in custom instructions.
Strategic Memories to Add
Tell Copilot these facts during conversation (it will offer to save them):
# Professional Context
"I'm a senior infrastructure security engineer at a healthcare organization"
"I primarily work with Cisco ISE, Active Directory, and Linux systems"
"My team manages network access control and endpoint security"
# Technical Preferences
"I prefer PowerShell for Windows automation and Python for cross-platform"
"I use Neovim as my primary editor"
"I document everything in AsciiDoc format"
"I use Arch Linux in WSL2 at work"
# Environment Facts
"Our domain is inside.domusdigitalis.dev"
"We use EAP-TLS for 802.1X authentication"
"Our ISE deployment uses policy sets for different use cases"
# Workflow Preferences
"I prefer CLI solutions over GUI when available"
"I use heredoc-style commits for multi-line git messages"
"I verify commands before and after making changes"
Prompt Patterns for InfoSec Work
Even with personalization, prompt structure matters. Use these patterns:
Pattern 1: Verification-First Changes
I need to modify [thing]. Show me:
1. Command to verify current state
2. Command to make the change
3. Command to verify the change worked
4. Rollback command if it fails
Pattern 2: Security-Aware Automation
Write a PowerShell script that [does X].
Requirements:
- Handle errors properly with try/catch
- Log all actions to Windows Event Log
- Use secure credential handling (no plaintext)
- Include -WhatIf support for testing
Pattern 3: Troubleshooting Context
ISE authentication failing for endpoint MAC [X].
Symptoms:
- [specific behavior]
Logs show:
```
[paste relevant log entries]
```
What should I check?
CLI/API Access
PowerShell: Copilot in Windows Terminal
Windows Terminal can integrate with Copilot for inline suggestions:
# Check if Copilot integration is available
Get-Command -Module Microsoft.PowerShell.Copilot -ErrorAction SilentlyContinue
# If available, get inline suggestions
# Requires Windows 11 and Copilot enabled
WSL: Browser-Based Access
No native CLI for Copilot in WSL, but you can:
# Open Copilot in default Windows browser from WSL
wslview "https://copilot.microsoft.com"
# Or create an alias
echo 'alias copilot="wslview https://copilot.microsoft.com"' >> ~/.zshrc
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
|
Open Copilot (Windows 11) |
|
Open Copilot in Edge |
|
Submit multi-line prompt (in some contexts) |
|
Copy code block from response |
Power User Tips
1. Context Window Management
Copilot has limited context. For long conversations:
"Let's start fresh. Here's the context for this task:
[provide focused context]
Now help me with [specific task]"
2. Iterative Refinement
First attempt: "Write a script to do X"
Refinement: "Good start. Now add error handling and logging"
Refinement: "Add support for -WhatIf and -Verbose"
Refinement: "Make it accept pipeline input"
3. Output Format Control
"Respond with ONLY the PowerShell code. No explanation."
"Format as a markdown table"
"Respond in AsciiDoc format with proper code blocks"
Competitive Edge: What Your Colleagues Might Miss
Underutilized Features
-
Persistent Instructions - Most people use Copilot without customization
-
Memory Training - Actively teaching Copilot your preferences
-
Structured Prompts - Using templates instead of ad-hoc questions
-
Verification Pattern - Always asking for before/after commands
-
Security Framing - Explicitly requesting secure defaults
Troubleshooting
Custom Instructions Not Applying
-
Clear browser cache/cookies
-
Sign out and back into Microsoft account
-
Check Settings → Personalization to verify instructions saved
-
Test with explicit: "What custom instructions do you have for me?"