当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何创建 PowerShell 配置文件 - 分步

作者:精品下载站 日期:2024-12-14 03:41:26 浏览:15 分类:玩电脑

如何创建 PowerShell 配置文件 - 分步


您想充分利用 PowerShell 吗?然后确保配置您的 PowerShell 配置文件以增强您的 PowerShell 控制台。

PowerShell 配置文件是打开 PowerShell 时运行的脚本。它允许您自动加载 PowerShell 脚本或模块、为经常使用的 cmdlet 创建别名,以及更改控制台的外观。

在本文中,我们将了解不同的 PowerShell 配置文件位置,解释如何创建配置文件,并为您提供一些有用的示例。

PowerShell 配置文件位置

大多数人不知道的是,存在不同的配置文件。您可以为 PowerShell 控制台/终端创建一个配置文件,并为 PowerShell ISE 创建一个单独的配置文件。但也可以创建一个在所有位置使用的配置文件。

为了找到您的 PowerShell 配置文件位置,我们将使用 PowerShell。

  1. 打开PowerShell
  2. 输入$个人资料
$profile

#result:
C:\Users\rmens\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

$profile 变量返回当前程序(主机)中当前用户的配置文件。但如前所述,有不同的配置文件。如果您还经常使用 PowerShell ISE,那么使用“当前用户 - 所有主机”配置文件更有意义。

笔记

术语“主机”在这里有点令人困惑。在这种情况下,Microsoft 主机意味着 PowerShell 程序,例如 PowerShell 控制台或编辑器 ISE。DescriptionPathCommand to openCurrent user – Current host$Home\[My ]Documents\
PowerShell\Microsoft.PowerShell_profile.ps1$profileCurrent user –
All hosts$Home\[My ]Documents\
PowerShell\Profile.ps1$profile.CurrentUserAllHosts
All Users –
Current Host$PSHOME\Microsoft.PowerShell_profile.ps1$profile.AllUsersCurrentHostAll Users –
All Hosts$PSHOME\Profile.ps1$profile.AllUsersAllHosts

要为 PowerShell ISE 创建特定配置文件,您需要从 PowerShell ISE 本身运行命令。

如何创建您的 PowerShell 配置文件

使用 PowerShell 配置文件确实可以使您的日常工作变得更加轻松。您不再需要导航到正确的文件夹来运行您经常使用的脚本。或者,您可以为经常使用的 cmdlet 创建易于使用的别名。

创建自己的个人资料的第一步是测试您是否已经拥有个人资料。打开 PowerShell 并输入:

test-path $profile

如果返回 False,那么我们需要先创建配置文件,输入:

New-Item -Path $profile -Type File -Force

[玩转系统] 如何创建 PowerShell 配置文件 - 分步

您可以使用上表中的命令使用相同的方法创建所有主机或所有用户的配置文件。

要使用该配置文件,您需要确保已将执行策略设置为远程签名。否则,当 PowerShell 打开时您将无法运行该脚本。确保使用提升的权限(管理模式)运行 PowerShell 以更改执行策略:

Get-ExecutionPolicy

# Set the ExecutionPolicy to RemoteSigned:
Set-ExecutionPolicy RemoteSigned

编辑 PowerShell 配置文件

配置文件现已创建,您可以打开并编辑 PowerShell 配置文件。我们再次使用 PowerShell 命令打开配置文件:

ise $profile

这将在 PowerShell ISE 中打开配置文件,显示完全空白的配置文件。请记住,您向配置文件添加的内容越多,启动 PowerShell 所需的时间就越长。

PowerShell 配置文件示例

该配置文件是一个 PowerShell 脚本,因此我们可以修改其中的几乎所有 PowerShell 函数。但基本上,您需要在个人资料中执行以下操作:

  • 设计您的 PowerShell 控制台
  • 设置默认位置
  • 用脚本加载不同的路径(文件夹)
  • 设置默认变量
  • 导入模块
  • 创建别名

设计您的 PowerShell 控制台

例如,您可以设置 PowerShell 控制台的样式、设置字体和背景颜色以及窗口标题。就我个人而言,我使用 Windows Terminal 并为其使用自定义主题。您可以在本文中阅读有关 Windows 终端的更多信息。

# Style default PowerShell Console
$shell = $Host.UI.RawUI

$shell.WindowTitle= "PS"

$shell.BackgroundColor = "Black"
$shell.ForegroundColor = "White"

# Load custom theme for Windows Terminal
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme LazyAdmin

设置默认位置

默认情况下,PowerShell 在您的主文件夹 $home 中启动。但是当我使用 PowerShell 时,大多数时候我希望能够轻松访问我的脚本文件夹。因此我们可以设置启动 PowerShell 的默认位置:

# Set Default location
Set-Location D:\SysAdmin\scripts

从不同位置加载脚本

要快速访问脚本,您可以将包含脚本的文件夹加载到环境路径 $env:path 中。这使您可以访问所有脚本,而无需每次都更改目录:

# Load scripts from the following locations
$env:Path += ";D:\SysAdmin\scripts\PowerShellBasics"
$env:Path += ";D:\SysAdmin\scripts\Connectors"
$env:Path += ";D:\SysAdmin\scripts\Office365"

设置默认变量

另一个有用的提示是在您的配置文件中设置默认变量。例如,我经常需要连接到 Office 365。通过将 SharePoint 管理 URL 或我的 UserPrincipalName 设置为配置文件中的变量,我可以快速连接到不同的端点。

与您可以在我的 GitHub 上找到的连接脚本结合使用效果最佳。

# Set default variables
$adminUPN = "[email protected]"
$sharepointAdminUrl = "https://lazydev-admin.sharepoint.com"

导入模块或脚本

我的大部分脚本都是作为函数编写的。但要真正将它们用作函数,您需要从中创建一个 PowerShell 模块。这些模块文件需要放置在模块文件夹中:$HOME\Documents\PowerShell\Modules

我的模块文件夹未连接到我的 GitHub 存储库,因此需要将脚本中所做的更改复制到模块文件夹中,但我总是忘记这一点。

在我看来,一个更简单的方法是为脚本使用别名。这样您就可以将脚本作为函数调用,而无需从中创建模块:

# Lazy way to use scripts as module
Set-Alias ConnectTo-SharePointAdmin ConnectTo-SharePointAdmin.ps1
Set-Alias ConnectTo-EXO ConnectTo-EXO.ps1
Set-Alias Get-MFAStatus MFAStatus.ps1
Set-Alias Get-MailboxSizeReport MailboxSizeReport.ps1
Set-Alias Get-OneDriveSizeReport OneDriveSizeReport.ps1

为命令创建别名

您还可以为经常使用的命令创建别名,例如:

# Create aliases for frequently used commands
Set-Alias im Import-Module
Set-Alias tn Test-NetConnection

完成所有更改后,保存您的配置文件并重新启动 PowerShell 控制台。

总结

良好配置的 PowerShell 配置文件确实可以节省您使用 PowerShell 时的时间。它使您可以直接访问常用的脚本、变量和函数。

如果您对个人资料有建议或提示,请在下面分享。另外,如果您有疑问,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯