Workflow Powershell Insufficient administrative privilege

Post Reply
robudus
Posts: 491
Joined: 07. May 2008, 09:24
Contact:

Workflow Powershell Insufficient administrative privilege

Post by robudus » 05. Sep 2022, 09:12

Hallo Zusammen,

wir haben unseren ersten Workflow selbst gebaut und bekommen jetzt ein Problem beim Ausführen der Powershell.
Der Workflow soll Citrix User abmelden. Das Powershell Skript funktioniert mit dem ServiceUser ohne Probleme. Dieser hat auf dem Citrix Server die erforderlichen Berechtigungen. DIe SDK ist installiert und wie gesagt in der Powershell direkt auf dem ESM Server auf dem der Workflow läuft klappt alles fehlerfrei und der User wird abgemeldet. Wenn das Skript im Workflow ausgeführt wird, dann bekommt man nur die Fehlermeldung das man unzureichende Berechtigungen hat. Und auch das das Modul von Citrix schon geladen ist. Die Fehler tauchen nicht auf wenn man es über die ISE mit dem ServiceUser ausführt.

Gibt es da einen Trick?

Leider wird auch kaum was protokolliert wenn man im Workflow in der Powershell Acivity start-transcript verwendet. Es werden nur Fehler protokolliert und nicht die Ausgabe.

Anbei das Skript welches wir verwenden:

param(
[string]$NBAccountName
)

#Clear Variables
Remove-Variable UserName
Remove-Variable SessionExists

Start-Transcript -path "C:\Admindata\CitrixSessionLog\CitrixSession.Log" -append
#-------------Test-Var below
#$NBAccountName = 'username'
asnp Citrix.*
Set-XDCredentials -ProfileType OnPrem
$ddcAddress = "CitrixServerController"
Test-AdminAccess -AdminAddress $ddcAddress -Operation 'Broker:GetMachine'

if ($NBAccountName -ne "")
{
$UserName = "domain\" + $NBAccountName
$SessionExists = Get-BrokerSession -UserName $UserName

if ($SessionExists)
{
Write-Output "Es wird der Benutzer $UserName von seiner Citrix Session abgemeldet"

#Get-BrokerSession -UserName $UserName -Verbose|fl
#Get-BrokerSession -UserName $UserName -Verbose|Stop-BrokerSession -Verbose

}
}
else
{
Write-output "Der Accountname ist leer, es wird keine Citrix Session ausgelogt"
}

Stop-Transcript



Protokoll:
**********************
Windows PowerShell transcript start
Start time: 20220905090311
Username: Domain\SVCUser
RunAs User: Domain\SVCUser
Configuration Name:
Machine: ESMSRV (Microsoft Windows NT 6.2.9200.0)
Host Application: C:\Program Files (x86)\Matrix42\Matrix42 Workplace Management\Worker\Core\Matrix42.Worker.Host.exe
Process ID: 4900
PSVersion: 5.1.17763.2931
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17763.2931
BuildVersion: 10.0.17763.2931
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
asnp : Cannot add Windows PowerShell snap-in Citrix.Sdk.Proxy.V1 because it is already added. Verify the name of the
snap-in, and then try again.
At line:1 char:1
+ asnp Citrix.Sdk.Proxy.V1
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (Citrix.Sdk.Proxy.V1:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
PS>TerminatingError(Get-BrokerSession): "Insufficient administrative privilege"
>> TerminatingError(Get-BrokerSession): "Insufficient administrative privilege"
**********************
Windows PowerShell transcript end
End time: 20220905090311
**********************





Für Hilfe oder Tipps wären wir dankbar.

Vielen Dank

ROBudus

kuechi
Posts: 13
Joined: 11. Nov 2009, 14:24
Contact:

Re: Workflow Powershell Insufficient administrative privilege

Post by kuechi » 18. Jan 2023, 10:23

Hallo,

ich weiß, dass Dein Post schon etwas älter ist, aber ich habe ähnliche Problem. Bei uns wird das PS-Script, dass wir aus dem Workflow aufrufen, als system ausgeführt. Abfragen kannst Du das im Powershell mit

Code: Select all

$username = $env:USERDOMAIN + "\" + $env:USERNAME
. Lass Dir $username in eine Datei ausgeben. Das Powershell muss Du aber innerhalb eines Workflow starten.

Ein Powershellscript als anderer Nutzer auszuführen ist mir noch nicht gelungen. Also mit Invoke-<Irgendwas>, Start-Process usw. hatte ich bisher auch keinen richtigen Erfolg.

Gruß
Kuechi

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7969
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: Workflow Powershell Insufficient administrative privilege

Post by Hendrik_Ambrosius » 20. Jan 2023, 10:25

Zum Ausführen eines Scripts mit einem anderen User hatte ich mal von einem Kollegen dieses snippet bekommen aber noch nicht getestet:

[Import.Win32]::LogonUser($Username, $Domain, $Password, 2, 0, [ref]$tokenHandle)

Hilft?
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

Post Reply

Return to “Customizing und Reporting”

Who is online

Users browsing this forum: No registered users and 1 guest