我想在 2 個示例中使用帶有變數名的變數
示例 1:
$Myvalue1 = "$AutomateProcessing"
$false我想$AutomateProcessing使用
$"$Myvalue1" = $false
(代替$AutomateProcessing = $false)
示例 2:
$Myvalue2 = "AutomateProcessing"
Get-EXOMailbox $MyMBX | set-CalendarProcessing -$Myvalue2 $MyConfig
(代替Get-EXOMailbox $MyMBX | set-CalendarProcessing -AutomateProcessing $MyConfig)
有了這個,我可以創建一個包含很多我想要修改的引數的回圈。
可以用PowerShell做嗎?
先感謝您
uj5u.com熱心網友回復:
您可以使用 cmdlet set-variable。
使用開關“變數”來定義您的變數(不帶 $ 符號)和值的開關“值”。
$AutomateProcessing=$true
$Myvalue1 = "AutomateProcessing"
Set-Variable -Name $Myvalue1 -Value $false
Out-Host -InputObject "Variable $Myvalue1 is now set to $AutomateProcessing"
結果:
Variable AutomateProcessing is now set to False
uj5u.com熱心網友回復:
第一部分不清楚。
在您提到的第二個示例中,如果您首先將整個命令列開關存盤為字串并使用 Invoke-Expression 觸發它,則可以實作此目的。
像這樣的東西。
[string] $FullCommandlet = "Get-EXOMailbox $MyMBX | set-CalendarProcessing -$Myvalue2 $MyConfig"
Invoke-Expression -Command $FullCommandlet
希望有幫助!
uj5u.com熱心網友回復:
嘗試從哈希表中插入引數
Param(
[array]$MyMBX = <array>,
[String]$AddOrganizerToSubject = <value>,
[bool]$AutomateProcessing = <value>,
[bool]$AllowRecurringMeetings = <value>
)
Foreach($mbx in $MyMBX){
$Myconfig = @{'Identity' = (Get-EXOMailbox -Identity $mbx)
'AutomateProcessing' = $AutomateProcessing
'AddOrganizerToSubject' = $AddOrganizerToSubject
'AllowRecurringMeetings' = $AllowRecurringMeetings
}# etc etc
Set-CalendarProcessing @Myconfig
}
uj5u.com熱心網友回復:
簡化為僅自動化處理
Param(
[array]$MyMBX = <array>,
[bool]$AutomateProcessing = $false,
)
Foreach($mbx in $MyMBX){
$Myconfig = @{'Identity' = (Get-EXOMailbox -Identity $mbx)
'AutomateProcessing' = $AutomateProcessing
}
Set-CalendarProcessing @Myconfig
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/490724.html
