diff --git a/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/model/Users.kt b/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/model/Users.kt
index 70832e0975e7d5b722a903599bf71f7afb13deee..2d576055cec3033a4ef699af7caf809871f591d7 100644
--- a/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/model/Users.kt
+++ b/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/model/Users.kt
@@ -28,6 +28,9 @@ import kotlinx.serialization.Serializable
 public data class User(
   @SerialName("login_id")
   val loginId: String = "",
+  
+  @SerialName("user_status")
+  val userStatus: String = "",
 
   @SerialName("email_address")
   val emailAddress: String = "",
diff --git a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdUtilityTests.kt b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdUtilityTests.kt
index 4dfbc5f4ee81950826933234163307c86fa64412..fe76ae5a5c2775cb3711f5e6d8c910124929722b 100644
--- a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdUtilityTests.kt
+++ b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdUtilityTests.kt
@@ -19,11 +19,14 @@
 
 package edu.ucsc.its.temerity.test
 
+import edu.ucsc.its.temerity.util.currentDate
 import io.kotest.common.ExperimentalKotest
 import io.kotest.common.KotestInternal
 import io.kotest.engine.runBlocking
 import kotlin.time.Duration.Companion.hours
 import kotlin.time.Duration.Companion.minutes
+import org.jetbrains.kotlinx.dataframe.api.toDataFrame
+import org.jetbrains.kotlinx.dataframe.io.writeCSV
 
 private class ProdUtilityTests : TemProdFunSpec() {
 
@@ -48,5 +51,17 @@ private class ProdUtilityTests : TemProdFunSpec() {
         kermit.d("Deleted $deletedUsers test student users.")
       }
     }
-  }
+    
+    test("Generate a report listing all Canvas Test Student users").config(blockingTest = true, timeout = 12.hours) {
+        runBlocking {
+          val testStudentList = testTemerity.getUsers().filter {
+            it.firstName.startsWith("test", ignoreCase = true) &&
+              it.lastName.startsWith("student", ignoreCase = true) &&
+              it.emailAddress.isEmpty()
+          }
+          kermit.d("Found ${testStudentList.size} test student users.")
+          testStudentList.toDataFrame().writeCSV("test-student-users-${currentDate()}.csv")
+        }
+      }
+    }
 }