Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Clients via PoSH invoke-command direkt in Log auf Server schreiben lassen.

$
0
0

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


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>