hopir Novice
23. oktober 2020 - 11:17 Der er 3 kommentarer

Powershell, incrementing global variabel i scriptblock

Hejsa. Følgende funktion er en lille del af et større script.

Jeg kan ikke få $i til at opdatere en global variabel for hvert gennemløb. Det virker som om at scriptblokken ignorerer $i++


$i = 0

function Message {

        start-job -Name Col01 -InitializationScript{Import-Module RemoteDesktop} -ScriptBlock{$Users = Get-RDUserSession -ConnectionBroker $ActiveConnectionBroker -CollectionName "col01"

        foreach ($User in $Users) {

            Send-RDUserMessage -UnifiedSessionID $User.UnifiedSessionId -HostServer $User.HostServer -MessageTitle "Info" -MessageBody $using:message
            $global:i++
        }
    }
}
Thomas S Ekspert
26. oktober 2020 - 11:13 #1
prøv at bruge $script:i++
fordi det kan være at du bruger $global:i i en anden sammenhæng, så for at være sikker, kan du holde dig indenfor det ene skript
hopir Novice
26. oktober 2020 - 13:05 #2
Jeg bruger ikke $global nogle steder andet end i det her du ser.. hvad jeg kan læse mig frem til, så har det noget at gøre med scoping.
Thomas S Ekspert
26. oktober 2020 - 13:53 #3
ja - scoping

hvis du har et eller andet skript et sted, som også bruger $i, og skriptet er kørt/kører i baggrunden af det skript du har, så redigerer du en variable, som du ikke læser i dit skript
Derfor kan du prøve at ændre variablen i dit skript vha "$script:i"... eller du læser $global:i når dit skript er kørt færdig
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Computerworld
Stein Bagger gør comeback i ny branche: "De lignede et mafiahold, førte sig frem som nyrige og plaprede løs om urealistiske drømme"
Stein Bagger har skiftet navn og fører sig nu frem i store biler i en helt ny branche, skriver en dansk avis.
CIO
Podcast: Her er seks gode råd om ledelse og digitalisering fra danske top-CIO'er
The Digital Edge: Vi har talt med 17 af Danmarks dygtigste digitale ledere - og samlet deres seks bedste råd om digitalisering og ledelse. Få alle rådene på 26 minutter i denne episode af podcasten The Digital Edge.
Job & Karriere
Se Waoos forklaring: Derfor har selskabet fyret topchef Jørgen Stensgaard med omgående virkning
Waaos bestyrelse opsiger fiberselskabets topchef, Jørgen Stensgaard, der fratræder med omgående virkning. Se hele forklaringen fra Waao her.
White paper
Hyperkonvergeret infrastruktur: Få det bedste fra on-premise og cloud
Det står stadig mere klart, at cloud ikke er løsningen på alle udfordringer. Høje og ofte uigennemskuelige omkostninger er én årsag – omfattende krav til standardisering er en anden. Det efterlader organisationen i et limbo, hvor det kan være svært at finde den rette balance mellem cloudløsninger og det on-premise baserede datacenter. I denne hvidbog kan du få inspiration til, hvordan du opbygger en hyperkonvergeret infrastruktur, der opfylder kravene til hurtig skalering og forretningsmæssig agilitet med XaaS.