gpt4 book ai didi

powershell - 在PowerShell中增加动态变量

转载 作者:行者123 更新时间:2023-12-02 23:27:07 25 4
gpt4 key购买 nike

我在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 A中,则变量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 ++
}
}

上面我既有set-variable命令,也尝试了$ p1 $ Div ++。我不知道如何使变量递增。 Set-Variable命令始终将变量设置为字符串值,因此会将其设置为“++”,而不是将其从0移至1。

最佳答案

我将使用哈希表进行计数,而不是使用离散变量:

$DIVCounts = @{}
$DivList= "A","B","C"
Foreach($Div in $DivList)
{
$DIVCounts["P1$div"] = 0
$DIVCounts["E1$div"] = 0
$DIVCounts["E3$div"] = 0
}

$Users = get-msoluser -MaxResults 3000

Foreach ($user in $users)
{
if($user.licenses.AccountSkuID -eq $P1)
{
ForEach($Div in $DivList)
{
if($user.Department -like $Div)
{
$DIVCountss["P1$Div"]++
}
}

关于powershell - 在PowerShell中增加动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31975455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com