Files
cproudlock fc6be8a876 Update READMEs to emphasize batch files as entry points
Each folder README now has:
- Quick Start section with batch file commands
- Batch Launchers table listing entry points
- PowerShell Scripts section for detailed documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 11:02:47 -05:00

190 lines
4.5 KiB
Markdown

# Setup & Utility Scripts
Scripts for configuring WinRM, scheduling tasks, and testing API connectivity.
## Quick Start
**Deploy scheduled task:**
```batch
Deploy-AssetCollectionSchedule.bat
```
**Install scheduled task locally:**
```batch
Install-Schedule.bat
```
---
## Batch Launchers (Entry Points)
| Batch File | Purpose |
|------------|---------|
| `Deploy-AssetCollectionSchedule.bat` | Deploy scheduled task to PCs |
| `Install-Schedule.bat` | Install scheduled task locally |
---
## PowerShell Scripts
### Setup-WinRM.ps1
**WinRM configuration utility** - Configures WinRM on the management server for remote asset collection.
**What it does:**
1. Enables WinRM service
2. Configures trusted hosts for remote connections
3. Sets up HTTP listener on port 5985
4. Tests connectivity to specified computers
**Usage:**
```powershell
# Trust all hosts (less secure, simpler)
.\Setup-WinRM.ps1 -TrustedHosts "*"
# Trust specific IPs
.\Setup-WinRM.ps1 -TrustedHosts "10.48.130.100,10.48.130.101"
# Setup and test
.\Setup-WinRM.ps1 -TrustedHosts "*" -TestConnection @("10.48.130.100")
```
**Parameters:**
| Parameter | Default | Description |
|-----------|---------|-------------|
| `-TrustedHosts` | `""` | Comma-separated list of trusted hosts |
| `-TestConnection` | `@()` | Array of computers to test after setup |
**Requires:** Administrator privileges
---
### Install-AssetCollectionSchedule.ps1
**Scheduled task installer** - Creates Windows scheduled task for automated asset collection.
**What it does:**
1. Creates scheduled task running 4 times daily (6:00, 12:00, 18:00, 00:00)
2. Configures silent execution (no window popup)
3. Runs as SYSTEM account
4. Handles battery/network conditions appropriately
**Usage:**
```powershell
# Install with defaults
.\Install-AssetCollectionSchedule.ps1
# Custom script path
.\Install-AssetCollectionSchedule.ps1 -ScriptPath "C:\Scripts\Update-PC-CompleteAsset-Silent.bat"
```
**Parameters:**
| Parameter | Default | Description |
|-----------|---------|-------------|
| `-ScriptPath` | `S:\DT\adata\script\Update-PC-CompleteAsset-Silent.bat` | Path to batch file |
| `-TaskName` | `"GE Asset Collection"` | Name for scheduled task |
**Schedule:**
- 6:00 AM
- 12:00 PM
- 6:00 PM
- 12:00 AM
**Requires:** Administrator privileges
---
### Test-API-Connection.ps1
**API connectivity tester** - Tests connectivity and functionality of the ShopDB API.
**What it does:**
1. Tests basic API connectivity (GET request)
2. Tests INSERT operation (creates test PC record)
3. Tests UPDATE operation (modifies test record)
4. Tests DELETE operation (cleans up test record)
5. Reports success/failure for each operation
**Usage:**
```powershell
# Test development API
.\Test-API-Connection.ps1
# Test production API
.\Test-API-Connection.ps1 -DashboardURL "https://production-server/shopdb/api.asp"
```
**Parameters:**
| Parameter | Default | Description |
|-----------|---------|-------------|
| `-DashboardURL` | `http://192.168.122.151:8080/api.asp` | API endpoint to test |
**Output Example:**
```
========================================
ShopDB API Connection Test
========================================
Test 1: Basic API Connectivity
[OK] API is online
Message: Dashboard API ready
Version: 2.0
Schema: Phase 2
Test 2: INSERT New PC Record
[OK] PC record created successfully
Hostname: TEST-PS-1234
Machine ID: 567
Operation: insert
Test 3: UPDATE PC Record
[OK] PC record updated successfully
Test 4: DELETE Test Record
[OK] Test record cleaned up
========================================
All tests passed!
========================================
```
---
## Batch File Launchers
| File | Purpose |
|------|---------|
| `Deploy-AssetCollectionSchedule.bat` | Deploys scheduled task to multiple PCs |
| `Install-Schedule.bat` | Local scheduled task installation |
---
## Requirements
- PowerShell 5.1 or later
- Administrator privileges
- Network access to ShopDB API (for Test-API-Connection.ps1)
## Common Use Cases
### Initial Setup on Management Server
```powershell
# 1. Configure WinRM to trust all shopfloor PCs
.\Setup-WinRM.ps1 -TrustedHosts "*"
# 2. Test API connectivity
.\Test-API-Connection.ps1 -DashboardURL "https://production-server/shopdb/api.asp"
```
### Deploy Scheduled Collection to a PC
```powershell
# On each target PC (as administrator):
.\Install-AssetCollectionSchedule.ps1
```
### Verify Everything is Working
```powershell
# Test API
.\Test-API-Connection.ps1
# Check scheduled task
Get-ScheduledTask -TaskName "GE Asset Collection" | Format-List
```