Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2464 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
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Batch & Shell
gelöst Powershell Script mit Zertifikat signieren (5)

Frage von zamsi7 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...