Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 849
Valgfri brukertittel
Kekurikekaka's Avatar
Er det noen her som er flinke i PowerShell scripting?

Jeg fant er script på Technet som viser usage på mailboksen (hvor mye som er brukt, kvoten, etc), men jeg sliter med å implementere dette i et større script som bruker et menysystem, da dette scriptet bruker ' istedenfor ".

Her er scriptet orginalt:

Kode

Get-OSCEXMailboxUsageReport -Filter 'Alias -like "mailboksnavn"' | FT -A
Denne fungerer fint.

Her er mitt script:

Kode

$CheckMailboxUsageUsername = read-host "Tast inn brukernavn"
Get-OSCEXMailboxUsageReport -Filter 'Alias -like "$CheckMailboxUsageUsername"' | FT -A
Denne gir følgende output:
Get-OSCEXMailboxUsageReport -Filter 'Alias -like "$CheckMailboxUsageUsername"' | FT -A

Så her har ikke variablen blitt med.

Årsaken til dette er at powershell ignorerer alle variabler som ligger innenfor '.

Prøver jeg å endre det orginale scriptet til:

Kode

Get-OSCEXMailboxUsageReport -Filter "Alias -like "mailboksnavn"" | FT -A
Så får jeg denne feilen:
[COLOR="Orange"][PS][/COLOR] C:\Windows\system32>Get-OSCEXMailboxUsageReport -Filter "Alias -like "MAILBOKSNAVN"" | FT -A
[COLOR="orange"]WARNING: MAILBOKSNAVN is not a valid mailbox property name[/COLOR].
[COLOR="Red"]Invoke-Command : Cannot bind parameter 'Filter' to the target. Exception setting "Filter": "Invalid filter syntax. For
a description of the filter parameter syntax see the command help.
"Alias -like " at position 7."
At C:\Users\Administrator\AppData\Roaming\Microsoft\Exchange\Re motePowerShell\exchangemail001.contoso.com\exchangemail001.
.contoso.com.psm1:13417 char:29
+ $scriptCmd = { & <<<< $script:InvokeCommand `
+ CategoryInfo : WriteError: (:) [Get-Mailbox], ParameterBindingException
+ FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.Exchange.Management.Recipie ntTasks.GetMailbox[/COLOR]
Vis hele sitatet...
Noe som også er litt rart, fordi at slik jeg forstår, så er eneste forskjellen mellom ' og " at ' ikke ser etter variabler mens " gjør det. Det skal jo da i teorien ikke være noe forskjell på disse kommandoene...

Er det noen som har forslag til hva jeg kan prøve ut?
Sist endret av Kekurikekaka; 12. april 2013 kl. 21:56.
Valgfri brukertittel
Kekurikekaka's Avatar
Trådstarter
FYI, så var løsningen følgende:

Kode

$CheckMailboxUsageUsername = read-host "Tast inn brukernavn"
$CheckMailboxUsageFilter = "Alias -like '$CheckMailboxUsageUsername'"
Get-OSCEXMailboxUsageReport -Filter $CheckMailboxUsageFilter | FT -A