猛犸 发表于 2024-9-22 02:49:17

一个小代码,记录自己的IP变化历史

[*]$logFile = "C:\path\to\your\ip_log.txt"
[*]$checkInterval = 300# 检查间隔,单位为秒(这里设置为5分钟)
[*]
[*]function Get-ExternalIP {
[*]    try {
[*]      $ip = Invoke-RestMethod -Uri 'http://ipinfo.io/ip'
[*]      return $ip.Trim()
[*]    }
[*]    catch {
[*]      return $null
[*]    }
[*]}
[*]
[*]$lastIP = $null
[*]
[*]while ($true) {
[*]    $currentIP = Get-ExternalIP
[*]    $currentTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
[*]   
[*]    if ($currentIP -and ($currentIP -ne $lastIP)) {
[*]      $logMessage = "$currentTime - IP changed to: $currentIP"
[*]      Add-Content -Path $logFile -Value $logMessage
[*]      Write-Host $logMessage
[*]      $lastIP = $currentIP
[*]    }
[*]   
[*]    Start-Sleep -Seconds $checkInterval
[*]}复制代码


使用PowerShell脚本来监测IP变化并记录到文本文档中。

一个简单的脚本示例,可以帮助您实现这个功能:

1、创建PowerShell脚本: 打开记事本,将以上内容复制粘贴进去:
2、保存文件: 将文件保存为 "MonitorIP.ps1"(或其他您喜欢的名称),确保文件扩展名是 .ps1。
3、修改脚本:
      将 $logFile = "C:\path\to\your\ip_log.txt" 中的路径改为您想要保存日志文件的实际路径。
      如果需要,可以调整 $checkInterval 的值来改变检查频率。
4、运行脚本:
      右键点击保存的 .ps1 文件。
      选择 "使用 PowerShell 运行"。
5、设置自动启动(可选): 如果您希望每次开机时自动运行此脚本:
      按 Win+R,输入 "shell:startup" 并回车。
      在打开的文件夹中,右键 > 新建 > 快捷方式。
      在位置栏输入:powershell.exe -ExecutionPolicy Bypass -File "C:\path\to\your\MonitorIP.ps1"
      将 "C:\path\to\your\MonitorIP.ps1" 替换为您实际保存脚本的路径。

注意事项:

这个脚本会持续运行并定期检查IP。如果您不希望它一直运行,可以手动关闭PowerShell窗口。
脚本使用 http://ipinfo.io 服务来获取外部IP。如果这个服务不可用,您可能需要更换为其他提供IP信息的服务。
确保您的防火墙或安全软件不会阻止脚本访问互联网。
如果遇到执行策略的问题,您可能需要以管理员身份运行PowerShell并执行 Set-ExecutionPolicy RemoteSigned 命令。
使用这个脚本,您就可以监测IP变化并将变化记录到指定的文本文件中了。每当IP发生变化时,新的IP地址和变化时间都会被记录下来。
页: [1]
查看完整版本: 一个小代码,记录自己的IP变化历史