Skip to content

Commit 0356cd2

Browse files
committed
Update README.md to enhance documentation structure and clarity; streamline table of contents and improve feature descriptions
1 parent 9470f57 commit 0356cd2

File tree

1 file changed

+57
-145
lines changed

1 file changed

+57
-145
lines changed

README.md

Lines changed: 57 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -7,56 +7,52 @@ A collection of PowerShell scripts for enterprise IT administration, covering Ac
77
[![PowerShell Gallery](https://img.shields.io/badge/PowerShell-7.0+-blue.svg)](https://github.com/PowerShell/PowerShell)
88
[![Platform](https://img.shields.io/badge/Platform-Windows-lightgrey.svg)](https://www.microsoft.com/windows)
99

10+
For comprehensive documentation, please refer to the project site:
11+
[https://twcau.github.io/PowerShellScripting/](https://twcau.github.io/PowerShellScripting/)
12+
13+
<!-- omit from toc -->
1014
## Table of Contents
1115

12-
- [Table of Contents](#table-of-contents)
1316
- [Features](#features)
1417
- [Getting Started](#getting-started)
1518
- [Prerequisites](#prerequisites)
1619
- [Installation](#installation)
1720
- [Usage](#usage)
18-
- [Basic Usage](#basic-usage)
19-
- [Script Categories](#script-categories)
20-
- [Interactive Scripts](#interactive-scripts)
21-
- [Configuration](#configuration)
22-
- [Environment Variables](#environment-variables)
23-
- [Authentication](#authentication)
24-
- [Customisation](#customisation)
2521
- [Folder Structure](#folder-structure)
26-
- [Modules and Functions](#modules-and-functions)
27-
- [Core Functionality](#core-functionality)
28-
- [Key Scripts](#key-scripts)
2922
- [Testing](#testing)
3023
- [Development Environment](#development-environment)
3124
- [Validation](#validation)
32-
- [Logging and Troubleshooting](#logging-and-troubleshooting)
33-
- [Logging Standards](#logging-standards)
34-
- [Common Issues](#common-issues)
35-
- [Support Resources](#support-resources)
36-
- [Accessibility](#accessibility)
37-
- [Contributing](#contributing)
3825
- [Development Guidelines](#development-guidelines)
3926
- [Changelog](#changelog)
40-
- [Recent Updates](#recent-updates)
41-
- [Version History](#version-history)
4227
- [License](#license)
4328
- [Like to say thank you?](#like-to-say-thank-you)
4429
- [Contact and Support](#contact-and-support)
4530
- [Project Maintainer](#project-maintainer)
4631
- [Getting Help](#getting-help)
47-
- [Support Guidelines](#support-guidelines)
32+
- [Common Issues](#common-issues)
33+
- [Support Resources](#support-resources)
34+
- [Support Guidelines](#support-guidelines)
35+
- [Accessibility](#accessibility)
36+
- [Contributing](#contributing)
4837

4938
## Features
5039

40+
My scripts so far cover some of the bugbears i've experienced in my time in L2-2.5 support, including:
41+
5142
- **Active Directory Management**: User creation, group management, computer organisation, and bulk operations
5243
- **Microsoft 365 Administration**: Exchange Online mailbox management, quarantine handling, and transport rules
5344
- **Entra ID Integration**: External user management, compromised account remediation, and identity operations
5445
- **Intune Device Management**: Bulk device synchronisation, remediation scripts, and compliance monitoring
5546
- **General Utilities**: Password generation, module management, and script selection tools
5647
- **OneDrive Administration**: User content download and management capabilities
57-
- **Comprehensive Logging**: Standardised logging across all scripts with detailed audit trails
58-
- **Error Handling**: Robust error handling and retry logic for enterprise environments
48+
49+
To ensure scripts are easily understood and used, I try to ensure they all include:
50+
5951
- **GUI Interfaces**: User-friendly forms for complex administrative tasks
52+
- **Error Handling**: Robust error handling and retry logic for enterprise environments
53+
- **Progress Updates**: Visual feedback when an operation is underway but may take some time to complete
54+
- **Comprehensive Logging**: Standardised logging across all scripts with detailed audit trails
55+
- **Documentation**: At both the code, and use level, so it can be understood what everything does where
6056

6157
## Getting Started
6258

@@ -97,54 +93,7 @@ A collection of PowerShell scripts for enterprise IT administration, covering Ac
9793

9894
## Usage
9995

100-
### Basic Usage
101-
102-
Each script is designed to be run independently. Navigate to the appropriate folder and execute the script:
103-
104-
```powershell
105-
# Example: Run user creation script
106-
.\ad\user\creation\User-Creation.ps1
107-
108-
# Example: Run Intune bulk sync
109-
.\intune\devices\Intune-BulkSync.ps1
110-
```
111-
112-
### Script Categories
113-
114-
- **Active Directory**: Scripts for user and computer management in on-premises AD environments
115-
- **Exchange 365**: Email and mailbox management for cloud and hybrid environments
116-
- **Entra ID**: Identity and access management for Azure AD/Entra ID
117-
- **Intune**: Mobile device management and compliance scripts
118-
- **General**: Utility scripts for common administrative tasks
119-
120-
### Interactive Scripts
121-
122-
Many scripts include GUI interfaces for ease of use:
123-
124-
- User creation wizards with form-based input
125-
- Device selection interfaces
126-
- Progress indicators for long-running operations
127-
128-
## Configuration
129-
130-
### Environment Variables
131-
132-
Some scripts may require environment-specific configuration. Review each script's header for specific requirements.
133-
134-
### Authentication
135-
136-
- Ensure you have appropriate administrative credentials
137-
- Some scripts require multi-factor authentication (MFA)
138-
- Consider using application passwords where applicable
139-
140-
### Customisation
141-
142-
Scripts include configurable parameters at the top of each file. Common customisations include:
143-
144-
- Domain names and organisational units
145-
- Email domains and Exchange settings
146-
- Logging paths and retention policies
147-
- Timeout values and retry attempts
96+
Please refer to each scripts' documentation for instructions on how to use it, including environment varibles, authentication, and customisation.
14897

14998
## Folder Structure
15099

@@ -200,87 +149,27 @@ PowerShellScripting/
200149
│ └── M365-OneDriveForBusiness-User-FileUpload.ps1
201150
```
202151

203-
## Modules and Functions
204-
205-
### Core Functionality
206-
207-
The scripts in this collection provide:
208-
209-
- **User Management**: Creation, modification, and departure processing
210-
- **Group Management**: Membership copying and bulk operations
211-
- **Device Management**: Synchronisation, detection, and remediation
212-
- **Security Operations**: Compromised account handling and compliance monitoring
213-
- **Utility Functions**: Password generation, module management, and system utilities
214-
215-
### Key Scripts
216-
217-
- **User-Creation.ps1**: Comprehensive user creation with GUI interface
218-
- **Intune-BulkSync.ps1**: Mass device synchronisation for Intune environments
219-
- **AutomateCompromisedAccountRemediation.ps1**: Automated security response
220-
- **ScriptSelector.ps1**: Interactive menu system for script selection
221-
222152
## Testing
223153

224154
### Development Environment
225155

226-
Testing scripts are located in the `testing/` folder and include:
156+
Where available, testing scripts are located in the `testing/` folder and include:
227157

228158
- Proof-of-concept implementations
229159
- Version comparisons
230160
- Experimental features
231161

162+
Some scripts may also include dry run features in lieu of testing.
163+
232164
### Validation
233165

234166
Before using scripts in production:
235167

236-
1. Review the script header for version information and changelog
237-
2. Test in a non-production environment
168+
1. Review the script documentation, header for version information and changelog
169+
2. Always test in a non-production environment
238170
3. Verify all required modules are installed
239171
4. Check logging output for any warnings or errors
240172

241-
## Logging and Troubleshooting
242-
243-
### Logging Standards
244-
245-
All scripts follow consistent logging practices:
246-
247-
- Log files stored in `$env:TEMP` with timestamps
248-
- Comprehensive error logging with context
249-
- Success and failure reporting
250-
- Progress indicators for long-running operations
251-
252-
### Common Issues
253-
254-
- **Module Import Errors**: Ensure required PowerShell modules are installed
255-
- **Authentication Failures**: Verify credentials and MFA settings
256-
- **Permission Errors**: Check administrative rights for target systems
257-
- **Network Connectivity**: Ensure access to required cloud services
258-
259-
### Support Resources
260-
261-
- Check script headers for specific documentation links
262-
- Review Microsoft documentation for API changes
263-
- Consult PowerShell Gallery for module updates
264-
265-
## Accessibility
266-
267-
This project is committed to accessibility and inclusive design:
268-
269-
- Scripts include progress indicators and clear status messages
270-
- Documentation uses descriptive text for all functionality
271-
- Error messages provide actionable guidance
272-
- GUI interfaces follow accessibility best practices
273-
- All documentation supports screen readers
274-
275-
## Contributing
276-
277-
Contributions to improve and expand this script collection are welcome. Please read the contribution guidelines:
278-
279-
1. **Code Standards**: Follow PowerShell best practices and existing code style
280-
2. **Documentation**: Include comprehensive headers and inline comments
281-
3. **Testing**: Validate scripts in appropriate test environments
282-
4. **Security**: Ensure no hardcoded credentials or sensitive information
283-
284173
### Development Guidelines
285174

286175
- Use Australian English (EN-AU) for documentation and comments
@@ -290,15 +179,6 @@ Contributions to improve and expand this script collection are welcome. Please r
290179

291180
## Changelog
292181

293-
### Recent Updates
294-
295-
- **6/06/2025**: Enhanced user creation script with group copying improvements
296-
- **27/03/2025**: Added Clear Base User and Clear All User functionality
297-
- **21/05/2025**: Implemented base group validation and management
298-
- **4/03/2025**: Updated department listings for dynamic group memberships
299-
300-
### Version History
301-
302182
See individual script headers for detailed version history and changelog information.
303183

304184
## License
@@ -324,17 +204,49 @@ If these scripts have helped you in your IT administration tasks, consider:
324204

325205
### Getting Help
326206

207+
#### Common Issues
208+
209+
- **Module Import Errors**: Ensure required PowerShell modules are installed
210+
- **Authentication Failures**: Verify credentials and MFA settings
211+
- **Permission Errors**: Check administrative rights for target systems
212+
- **Network Connectivity**: Ensure access to required cloud services
213+
214+
### Support Resources
215+
216+
- Check script headers for specific documentation links
217+
- Review Microsoft documentation for API changes
218+
- Consult PowerShell Gallery for module updates
219+
327220
- **Issues**: Report bugs or request features via [GitHub Issues](https://github.com/twcau/PowerShellScripting/issues)
328221
- **Discussions**: Join the conversation in [GitHub Discussions](https://github.com/twcau/PowerShellScripting/discussions)
329222
- **Documentation**: Review script headers and Microsoft documentation links
330223

331-
### Support Guidelines
224+
#### Support Guidelines
332225

333226
- Provide clear descriptions of issues with relevant log files
334227
- Include PowerShell version and module information
335228
- Specify the target environment (on-premises, cloud, hybrid)
336229
- Follow the issue templates when reporting problems
337230

231+
## Accessibility
232+
233+
This project is committed to accessibility and inclusive design:
234+
235+
- Scripts include progress indicators and clear status messages
236+
- Documentation uses descriptive text for all functionality
237+
- Error messages provide actionable guidance
238+
- GUI interfaces follow accessibility best practices
239+
- All documentation supports screen readers
240+
241+
## Contributing
242+
243+
Contributions to improve and expand this script collection are welcome. Please read the contribution guidelines:
244+
245+
1. **Code Standards**: Follow PowerShell best practices and existing code style
246+
2. **Documentation**: Include comprehensive headers and inline comments
247+
3. **Testing**: Validate scripts in appropriate test environments
248+
4. **Security**: Ensure no hardcoded credentials or sensitive information
249+
338250
---
339251

340252
*This project follows Microsoft PowerShell best practices and maintains compatibility with enterprise IT environments.*

0 commit comments

Comments
 (0)