@@ -395,7 +395,19 @@ function Modify-CursorJSFiles {
395395 # 机器 GUID 用于模拟注册表/原始机器码读取
396396 $machineGuid = if ($global :CursorIds.machineGuid ) { [string ]$global :CursorIds.machineGuid } else { [System.Guid ]::NewGuid().ToString().ToLower() }
397397 $sessionId = if ($global :CursorIds.sessionId ) { [string ]$global :CursorIds.sessionId } else { [System.Guid ]::NewGuid().ToString().ToLower() }
398- $firstSessionDateValue = if ($global :CursorIds.firstSessionDate ) { [string ]$global :CursorIds.firstSessionDate } else { (Get-Date ).ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" ) }
398+ # 使用 UTC 时间生成/规范化 firstSessionDate,避免本地时间却带 Z 的语义错误;同时兼容 ConvertFrom-Json 可能返回 DateTime
399+ $firstSessionDateValue = if ($global :CursorIds.firstSessionDate ) {
400+ $rawFirstSessionDate = $global :CursorIds.firstSessionDate
401+ if ($rawFirstSessionDate -is [DateTime ]) {
402+ $rawFirstSessionDate.ToUniversalTime ().ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
403+ } elseif ($rawFirstSessionDate -is [DateTimeOffset ]) {
404+ $rawFirstSessionDate.UtcDateTime.ToString (" yyyy-MM-ddTHH:mm:ss.fffZ" )
405+ } else {
406+ [string ]$rawFirstSessionDate
407+ }
408+ } else {
409+ (Get-Date ).ToUniversalTime().ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
410+ }
399411 $macAddress = if ($global :CursorIds.macAddress ) { [string ]$global :CursorIds.macAddress } else { " 00:11:22:33:44:55" }
400412 $useConfigIds = $true
401413 } else {
@@ -414,7 +426,8 @@ function Modify-CursorJSFiles {
414426 # 机器 GUID 用于模拟注册表/原始机器码读取
415427 $machineGuid = [System.Guid ]::NewGuid().ToString().ToLower()
416428 $sessionId = [System.Guid ]::NewGuid().ToString().ToLower()
417- $firstSessionDateValue = (Get-Date ).ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
429+ # 使用 UTC 时间生成 firstSessionDate,避免本地时间却带 Z 的语义错误
430+ $firstSessionDateValue = (Get-Date ).ToUniversalTime().ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
418431 $macAddress = " 00:11:22:33:44:55"
419432 }
420433
@@ -609,7 +622,8 @@ function Modify-CursorJSFiles {
609622
610623 # 🔧 新增: firstSessionDate(重置首次会话日期)
611624 if (-not $firstSessionDateValue ) {
612- $firstSessionDateValue = (Get-Date ).ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
625+ # 使用 UTC 时间生成 firstSessionDate,避免本地时间却带 Z 的语义错误
626+ $firstSessionDateValue = (Get-Date ).ToUniversalTime().ToString(" yyyy-MM-ddTHH:mm:ss.fffZ" )
613627 }
614628
615629 $placeholders = @ (
0 commit comments