You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本执行报错:访问C:\路径被拒绝求助

解决PowerShell脚本访问C:\根目录权限被拒绝的问题

从你给出的报错信息和脚本内容来看,核心问题很明确:普通用户默认没有Windows系统C:\根目录的写入权限——这是系统的安全限制,目的是防止随意修改系统根目录的文件,避免影响系统稳定性。你的脚本里crearFichero和escribirInfo函数都直接在C:\下创建、写入文件,自然会触发权限拒绝的报错。

下面是具体的修复方案:

1. 选择合适的写入目录

优先挑选你默认拥有写入权限的目录,比如:

  • 用户个人文档目录:$env:USERPROFILE\Documents(对应实际路径C:\Users\[你的用户名]\Documents)
  • 脚本所在的目录:$PSScriptRoot(如果脚本存放在你有权限的文件夹里)
  • 系统临时目录:$env:TEMP

2. 修改脚本的路径与变量作用域

除了调整文件存储路径,还要注意变量作用域问题:你在crearFichero里定义的$nombre_fichero是局部变量,默认情况下escribirInfo函数无法访问它,需要把它改成脚本级别的变量($script:nombre_fichero),让两个函数都能读取到文件名。

修改后的完整脚本如下:

# 主函数调用
main

function main {
    crearFichero
    escribirInfo
}

function crearFichero {
    [CmdletBinding()]
    Param()
    Begin {}
    Process {
        $nombre_sistema = (Get-WmiObject -Class Win32_ComputerSystem -Property Name).Name
        $ip = Test-Connection $nombre_sistema -Count 1 | select IPV4Address
        $ip_replace = $ip.IPV4Address.IPAddressToString.Replace(".","_")
        $fecha = Get-Date -Format "MM_dd_yyyy"
        $ext = ".txt"
        $script:nombre_fichero = [System.String]::Concat($ip_replace, $fecha, $ext)
        
        # 拼接用户文档目录的目标路径
        $targetPath = Join-Path -Path $env:USERPROFILE\Documents -ChildPath $script:nombre_fichero
        $crear_fichero= New-Item $targetPath -ItemType file
    }
}

function escribirInfo {
    [CmdletBinding()]
    Param()
    Begin {}
    Process {
        # 使用相同的用户文档目录路径
        $targetPath = Join-Path -Path $env:USERPROFILE\Documents -ChildPath $script:nombre_fichero
        gwmi win32_bios | select SerialNumber, Version, Manufacturer | Add-Content $targetPath
    }
}

关键修改说明

  • 用$script:nombre_fichero替代原来的$nombre_fichero,确保两个函数都能访问到文件名变量
  • 使用Join-Path命令拼接路径,避免手动拼接字符串时出现格式错误
  • 将目标路径改为$env:USERPROFILE\Documents,这是普通用户默认拥有写入权限的安全目录

额外提示

如果你一定要在C:\根目录下创建文件,需要以管理员身份运行PowerShell,但非常不推荐这么做——系统根目录的写入操作可能会干扰系统文件,不符合安全最佳实践。

内容的提问来源于stack exchange,提问作者Alberto Martín Rodríguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:09:56