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

查看 4|回复 0
作者:猛犸   
[ol]$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
}[/ol]复制代码
使用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地址和变化时间都会被记录下来。

脚本, 文件, 路径

您需要登录后才可以回帖 登录 | 立即注册

返回顶部