Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PowerShell Script, Anwendung soll nur einmal gestartet werden?

Frage Microsoft Windows Server

Mitglied: FloFMS

FloFMS (Level 1) - Jetzt verbinden

09.01.2013, aktualisiert 13:19 Uhr, 2631 Aufrufe, 6 Kommentare

Hallo Zusammen

Windows 2008 R2 Terminal Server.

Ich möchte per PowerShell Skript erreichen das ein TerminalServer User eine Anwendung nur 1x starten kann. Folgendes hab ich dazu schon zusammen. Das funktioniert aber nicht auf User sondern nur auf System ebenen. Soll heißen er findet immer alle Prozesse, sobald die Anwendung bei einem anderen TS-User läuft startet er sie nicht mehr. Mir fehlt irgendwie die Begrenzung auf den Aktuellen TS-User.

Kann mir jemand erklären wie ich das umsetzen kann?

01.
$proc = Get-Process | Where-Object {$_.ProcessName -eq "Anwendung"} 
02.
 
03.
if ($proc -imatch 'Anwendung') 
04.
{	 
05.
'Anwendung ist bereits gestartet' 
06.
07.
else 
08.
09.
'Anwendung wird gestartet' 
10.
& 'Pfad zur Anwendung' 
11.
}
Danke

Gruß
Florian
Mitglied: Hitman4021
09.01.2013 um 12:50 Uhr
Hallo,

bitte die < code > < /code > Tags benützen. Ohne Leerzeichen.

Wie wäre es etwa so in der Art:
01.
$curUser = [Environment]::UserName 
02.
$owners = @{} 
03.
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user} 
04.
$proc get-process | Where-Object {$_.ProcessName -eq "Anwendung"} | select processname,@{l="Owner"; e={$owners[$_.id.tostring()]}} 
05.
 
06.
if ($proc -imatch 'Anwendung') -and ( $proc -imatch "$curUser") 
07.
08.
'Anwendung ist bereits gestartet' 
09.
10.
else 
11.
12.
'Anwendung wird gestartet' 
13.
& 'Pfad zur Anwendung' 
14.
}
Gruß
Bitte warten ..
Mitglied: FloFMS
09.01.2013, aktualisiert um 13:17 Uhr
Hallo Hitman

Danke für die schnelle Antwort.

Es scheint einen kleinen Fehler nach der ersten "If" Anweisung zu geben. Er meckert immer den "Bindestrich" vor dem "and" an.
01.
 -and ( $proc -imatch "$curUser")
Gruß
Florian
Bitte warten ..
Mitglied: Hitman4021
09.01.2013 um 13:18 Uhr
Hallo,

sry hab ne Klammer vergessen.

Korrigiert:
01.
$curUser = [Environment]::UserName 
02.
$owners = @{} 
03.
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user} 
04.
$proc get-process | Where-Object {$_.ProcessName -eq "Anwendung"} | select processname,@{l="Owner"; e={$owners[$_.id.tostring()]}} 
05.
 
06.
if (($proc -imatch 'Anwendung') -and ( $proc -imatch "$curUser")) 
07.
08.
'Anwendung ist bereits gestartet' 
09.
10.
else 
11.
12.
'Anwendung wird gestartet' 
13.
& 'Pfad zur Anwendung' 
14.
}
Gruß
Bitte warten ..
Mitglied: FloFMS
09.01.2013, aktualisiert um 13:23 Uhr
Perfekt

Oben hat auch ein = gefehlt (hinter $proc)

So funktioniert es Problemlos.

Danke für die schnelle Hilfe.

01.
$curUser = [Environment]::UserName 
02.
$owners = @{} 
03.
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user} 
04.
$proc = Get-Process | Where-Object {$_.ProcessName -eq "Anwendung"} | select processname,@{l="Owner"; e={$owners[$_.id.tostring()]}} 
05.
 
06.
if (($proc -imatch 'Anwendung') -and ( $proc -imatch "$curUser")) 
07.
08.
'Anwendung ist bereits gestartet' 
09.
10.
else 
11.
12.
'Anwendung wird gestartet' 
13.
& 'Pfad zur Anwendung' 
14.
}
Bitte warten ..
Mitglied: FloFMS
09.01.2013 um 14:24 Uhr
Eine Frage noch.

Wie kann ich einen Pfad mit Leerzeile angeben?

Ich hab das Problem das der unter Zeile 13 angegebene Pfad bei einer Anwendung ein Leerzeichen hat. Irgendwie hab ich nichts dazu gefunden.
Bitte warten ..
Mitglied: Hitman4021
09.01.2013 um 14:32 Uhr
Hallo,

01.
'C:\SO FUNKTIONIERT DAS\cmd.exe'
Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Anhand Anwendungsnamen prüfen, ob Anwendung gestartet ist
gelöst Frage von SinzalBatch & Shell6 Kommentare

Hallo Admins, ich habe einen Win Server 2012 R2, auf dem ich ein Java-Programm laufen habe, dass öfters abstürzt. ...

Windows Server
Powershell Script in Script ausführen
Frage von diematrix125Windows Server2 Kommentare

Hallo! Ich habe hier momentan zwei verschiedene Skripte: 1. Skript zum Erstellen von Usern 2. Skript zum Erstellen der ...

Batch & Shell
Script in Powershell
gelöst Frage von EverestBatch & Shell27 Kommentare

Hallo PS-Scriptler, hat jemand von euch ein Script, der bestimmte User (z.B. administrator) in der Domain ausließt, welcher angibt ...

Batch & Shell
Powershell - Anwendung Übung
gelöst Frage von TlBERlUSBatch & Shell3 Kommentare

Hallo Zusammen, ich habe mir sagen lassen, dass Powershell eine recht nützliche Sache in einer Windows-Umgebung ist. ^^ Da ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 17 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 22 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 22 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
gelöst Frage von prodriveNetzwerkmanagement12 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...