У меня есть переменная в Powershell, которые я использую для создания списка других переменных все установленные к нулю, как так:Приращение динамической переменной в Powershell
$DivList= "A","B","C"
Foreach($Div in $DivList)
{
New-Variable -Name "P1$div" -Value 0
New-Variable -Name "E1$div" -Value 0
New-Variable -Name "E3$div" -Value 0
}
я использую эти переменные, чтобы сделать подсчет, какой тип лицензий у нас есть. Поэтому я затем перебираю каждое из разделов, и я хочу просто добавить 1 к соответствующей переменной, если у пользователя есть эта лицензия и находится в этом разделе. Таким образом, если пользователь John имеет лицензию P1 и в Div А затем Переменная P1A должна увеличиваться на 1.
$Users = get-msoluser -MaxResults 3000
Foreach ($user in $users)
{
if($user.licenses.AccountSkuID -eq $P1)
{
ForEach($Div in $DivList)
{
if($user.Department -like $Div)
{
Set-Variable -Name "P1$Div" -Value ++
$P1$Div ++
}
}
Выше у меня есть и команда переменной набора, и я попытался $ p1 $ Div ++. Я не могу понять, как сделать прирост переменной выше. Команда set-variable всегда устанавливает переменную так, как она является строковым значением, поэтому она будет устанавливать ее на «++», а не перемещать ее с 0 на 1. Любая помощь будет оценена. Если это неясно, дайте мне знать, и я могу уточнить.
Вы можете '++ (Get-Variable -Name" P1 $ Div "). Value'. 'Value' - свойство чтения/записи. – PetSerAl
@PetSerAl отличная точка; изм. – briantist