![](/img/trans.png)
[英]Install-Module -Name AzureAD -Scope CurrentUser -Force
[英]Force Install-Module to always install to user folders
我想強制 PowerShell 始終將模塊安裝到用戶空間。 奇怪的是,Microsoft 有一種工具可以強制安裝到需要 Admin 和Install-Module <Name> -Scope AllUser
系統文件夾,但沒有辦法強制安裝到用戶文件夾。
$ModulePath = "$(Split-Path $Profile)\Modules" # Want all modules here.
$ModulePathTest = foreach ($i in ($env:PSModulePath).split(";")) { if ($i -like $ModulePath) { $True } } # $ModulePathTest will be $true if $ModulePath is on the $env:PSModulePath
if ($ModulePathTest -eq $null) { <do stuff> }
所以我走了這么遠,現在卡住了。 如果我登錄 Admin,我認為它默認安裝到C:\\Program Files
,如果作為普通用戶,它將轉到$ModulePath
。
• 是否有一種快速的方法可以將 $ModulePath 添加到 $env:PSModulePath(並且是永久的,所以我認為這意味着它必須被推送到注冊表中,對嗎?我沒有看到可以永久更新環境變量的 PowerShell 命令 - 如果我錯了,很高興知道)?
• 有沒有辦法讓Install-Module
總是安裝到上面的$ModulePath
中(即C:\\Users\\<Username>\\Documents\\WindowsPowerShell\\Modules
)?
為什么不簡單地全局設置首選項。
簡短說明 描述如何為 cmdlet 參數和高級功能設置自定義默認值。
詳細說明 $PSDefaultParameterValues 首選項變量允許您為任何 cmdlet 或高級函數指定自定義默認值。 除非您在命令中指定另一個值,否則 Cmdlet 和高級函數使用自定義默認值。
語法 $PSDefaultParameterValues 變量是一個哈希表,用於將鍵的格式驗證為 System.Management.Automation.DefaultParameterDictionary 的對象類型。 哈希表包含鍵/值對。 密鑰的格式為 CmdletName:ParameterName。 Value 是分配給鍵的 DefaultValue 或 ScriptBlock。
$PSDefaultParameterValues 首選項變量的語法如下:
$PSDefaultParameterValues=@{"CmdletName:ParameterName"="DefaultValue"}
$PSDefaultParameterValues=@{ "CmdletName:ParameterName"={{ScriptBlock}} }
$PSDefaultParameterValues["Disabled"]=$True | $False
在 PowerShell 中使用 $PSDefaultParameterValues
假設我們想確保我們不會使用 Stop-Process 意外停止任何進程。 我們可以強制 WhatIf 始終與 Stop-Process 一起使用以更好地保護自己:
$PSDefaultParameterValues.Add("Stop-Process:WhatIf",$True)
所以,對於你所追求的,...
PowerShell $PSDefaultParameterValues 首選項變量中有什么?
$PSDefaultParameterValues = @{
'Out-Default:OutVariable' = 'LastResult'
'Out-File:Encoding' = 'utf8'
'Export-Csv:NoTypeInformation' = $true
'ConvertTo-Csv:NoTypeInformation' = $true
'Receive-Job:Keep' = $true
'Install-Module:Scope' = 'CurrentUser'
'Install-Module:AllowClobber' = $true
'Install-Module:Force' = $true
'Install-Module:SkipPublisherCheck' = $true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.