PowerShell/docs/write-powershell-profile.md
2024-03-27 17:36:59 +01:00

87 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Script: *write-powershell-profile.ps1*
========================
This PowerShell script writes the PowerShell profile for the current user.
Parameters
----------
```powershell
PS> ./write-powershell-profile.ps1 [[-path] <String>] [<CommonParameters>]
-path <String>
Specifies the path to the new profile ($PSScriptRoot/my-profile.ps1 by default)
Required? false
Position? 1
Default value "$PSScriptRoot/my-profile.ps1"
Accept pipeline input? false
Accept wildcard characters? false
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
Example
-------
```powershell
PS> ./write-powershell-profile.ps1
(1/2) Querying path to profile 'CurrentUserCurrentHost'...
C:\Users\Markus\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
(2/2) Copying file 'my-profile.ps1'...
New PowerShell profile written - it gets active on next login
```
Notes
-----
Author: Markus Fleschutz | License: CC0
Related Links
-------------
https://github.com/fleschutz/PowerShell
Script Content
--------------
```powershell
<#
.SYNOPSIS
Writes the PowerShell profile
.DESCRIPTION
This PowerShell script writes the PowerShell profile for the current user.
.PARAMETER path
Specifies the path to the new profile ($PSScriptRoot/my-profile.ps1 by default)
.EXAMPLE
PS> ./write-powershell-profile.ps1
⏳ (1/2) Querying path to profile 'CurrentUserCurrentHost'...
C:\Users\Markus\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
⏳ (2/2) Copying file 'my-profile.ps1'...
✔️ New PowerShell profile written - it gets active on next login
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
param([string]$path = "$PSScriptRoot/my-profile.ps1")
try {
"⏳ (1/2) Querying path to profile 'CurrentUserCurrentHost'..."
$pathToProfile = $PROFILE.CurrentUserCurrentHost
" $pathToProfile"
$filename = (Get-Item "$path").Name
"⏳ (2/2) Copying file '$filename'..."
$null = New-Item -Path $pathToProfile -ItemType "file" -Force
Copy-Item "$path" "$pathToProfile" -force
"✔️ New PowerShell profile written - it gets active on next login"
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
```
*(generated by convert-ps2md.ps1 using the comment-based help of write-powershell-profile.ps1 as of 03/27/2024 17:36:33)*