我想将PowerShell配置为从本地文件夹运行默认的profile.ps1脚本,而不是配置的Documents文件夹。
我最初配置我的文档文件夹保存在我的OnDrive中,以防止在崩溃的情况下丢失我的文档。但是,由于该更改,当我启动PowerShell时,它试图从预配置的OneDrive/Documents.profile.ps1执行profile.ps1脚本,出于安全原因,这是不允许的。
我想将PowerShell配置为从C:我该怎么做
我打开PowerShell并运行$PROFILE命令。它显示OneDrive Documents文件夹位置。
C:\Users\Joey\OneDrive\Documents\WindowsPowerShell\profile.ps1
我想我可以将$PROFILE变量指向本地C:文件夹,但似乎找不到其位置来更新它。我尝试将PROFILE变量添加到系统环境变量中,但不起作用。
请指示。
2条答案
按热度按时间dojqjjoe1#
你可以在这里找到详细的解释(实际上是多个)-https://serverfault.com/questions/195397/change-the-powershell-profile-directory-但简短的版本是,你可以通过在注册表中编辑
Personal
键来调整它:Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
所以它不再指向
%USERPROFILES%\Documents
,而是指向适合您的目的的某个地方。tcomlyy62#
注意:如果您可以选择将 * 整个Documents文件夹 * 更改回仅限本地的位置(远离OneDrive),请参阅Keith Langmead's answer。
自动
$PROFILE
变量的值 * 不能 * 更改,并且鉴于在固定位置中从配置文件中点源不同的文件 * 不是 * 您的情况下的选项,您必须使用PowerShell CLI及其-File
参数来模拟配置文件加载[1]注意:如果在
-File
之前添加-NoProfile
,则 * 没有 * 可能加载多个-profile files。如果没有其他配置文件,可以使用-NoProfile
;否则,在$PROFILE
指向的位置删除/不创建。您可以创建快捷方式文件(
*.lnk
)或批处理文件(*.cmd
),以便于使用此命令行启动PowerShell会话。[1]
-File
隐式点源指定的脚本文件,即直接在全局范围内执行它,这也是如何加载配置文件的。