Hallo zusammen,
ich plane, auf unseren Client-Rechnern mit Win7/Posh4.0 einen Monitoring-Task einzusetzen, der alle fünf Minuten prüft, ob bestimmte Prozesse noch laufen, und ggf. die Prozesse neu startet. Das funktioniert schon sehr gut. Jetzt möchte ich aber, sollte einer
der Prozesse neu gestartet werden, ein Logeintrag in einem Log auf dem Server erzeugt wird.
Da die Erzeugung des Log-Eintrages ja für jeden User funktionieren soll, bin ich wie folgt vorgegangen:
1. Ich habe ein PSSessionconfigurations-File mit folgenden Befehl erzeugt
New-PSSessionConfigurationFile -Path C:\script\writeLogs.pssc `
-ModulestoImport Miccrosoft.PowerShell.Management -VisibleCmdlets ('write-eventlog') `
-SessionType 'RestrictedRemoteServer'
Über dieses File kann ich nun eine restricted Shell-Configuration über den Befehl
Register-PSSessionConfiguration –Name 'writeLogs' -ShowSecurityDescriptorUI –Path 'c:\script\writeLogs.pssc'
Ruft man eine Remote-Shell mit dieser Pssession Configuration auf, stehen in der Shell nur wenige Funktionen und das CmdLet Write-eventlog zur Verfügung.
Damit das auch für jeden normalen User ohne Adminrechte klappt, habe ich über
Set-PSSessionConfiguration -name writeLogs -ShowSecurityDescriptorUI
Ausführungsrechte auf die Pssessionconfiguration gegeben
Ein get-command mit der Config ergibt jetzt auch als normaler User ein richtiges Ergebnis:
PS C:\Users\test01.lraw7> Invoke-Command -ComputerName la01gpo -ConfigurationName writeLogs {get-command}
CommandType Name ModuleName PSComputerName
----------- ---- ---------- --------------
Function Exit-PSSession la01gpo
Function Get-Command la01gpo
Function Get-FormatData la01gpo
Function Get-Help la01gpo
Function Measure-Object la01gpo
Function Out-Default la01gpo
Function Select-Object la01gpo
Cmdlet Write-EventLog Microsoft.PowerShell.ma... la01gpo
Leider funktioniert der remote Write-Eventlog nicht.
PS C:\Users\test01.lraw7> Invoke-Command -ComputerName la01gpo -ConfigurationName writeLogs {Write-EventLog -LogName ARE
LOG -source ARECLIENT -EventId 4 -Message "TESTESTTEST"}
Der Registrierungsschlüssel des Protokolls "ARELOG" für die Quelle "ARECLIENT" konnte nicht geöffnet werden.
+ CategoryInfo : PermissionDenied: (:) [Write-EventLog], Exception+ FullyQualifiedErrorId : AccessDenied,Microsoft.PowerShell.Commands.WriteEventLogCommand+ PSComputerName : la01gpo
Hat jemand eine Idee, wo mein Denkfehler liegt? Zu dieser Fehlermeldung habe ich leider nichts erhellendes gefunden.
Gruss, Oliver