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