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, Probleme mit Array

Frage Entwicklung Batch & Shell

Mitglied: emjott

emjott (Level 2) - Jetzt verbinden

10.11.2010, aktualisiert 18.10.2012, 6417 Aufrufe, 6 Kommentare

Hallo allerseits,

weil ich mich selbst in Sachen PHP als Fortgeschrittener einstufe, dachte ich das ich mal fix ein Script in Powershell schreibe.
Doch irgendwie bringt mich das nach mittlerweile 4 Stunden herumgedoktore langsam zur Weißglut.

In dem Script werden die aktuelle Terminalserversitzung ausgelesen und bei einzelnen Sitzung der Status ausgewertet.

Warum auch immer komme ich aber nicht richtig an den Status ran, um ihn dann mit einer if-Bedingung weiterzubearbeiten.

Hier mein Code...

01.
# PS-Script welches den Status spezieller TS-Nutzer ausliest 
02.
 
03.
#Set-ExecutionPolicy Unrestricted 
04.
#Get-Module -Name PSTerminalServices -ListAvailable 
05.
#Get-TSSession 
06.
#Import-Module PSTerminalServices 
07.
 
08.
    $status = Get-TSSession -UserName os04 | ft State 
09.
    $x = 0 
10.
    foreach($lo in $status){ 
11.
        $x 
12.
        $lo 
13.
        $x++ 
14.
    }
Mit dem Code erhalte ich die folgende Ausgabe:

01.
02.
 
03.
04.
                                                                                                                                  State 
05.
                                                                                                                                  ----- 
06.
07.
                                                                                                                                 Active 
08.
09.
 
10.
4
Mein Problem:
"Get-TSSession | ft " gibt schreibt zwar sauber die Ausgabe der Befehls in die Variable, doch die Variable entpuppt sich dann als Array ($status.gettype()=System.Array), was nicht weiter schlimm ist.
Schlimm ist die Tatsache das ich das Array nicht vernünftig auslesen kann...

Z.B. Wenn ich nun die Zeile mit dem Username os04 auslesen möchte, dann müsste ich das doch mit "$status[2]" machen oder nicht? Wenn ich das so mache kommt die folgende Fehlermeldung

>"Das Objekt vom Typ "Microsoft.PowerShell.Commands.Internal.Format.GroupEndData" ist ungültig oder befindet sich nicht an der richtigen
>Position in der Sequenz. Ursache ist wahrscheinlich ein vom Benutzer angegebener Befehl "format-*", der zu Konflikten mit der Standardformatierung führt.
+ CategoryInfo : InvalidData: ( [out-lineoutput], InvalidOperationException
+ FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.PowerShell.Commands.OutLineOutputCommand"

Denke ich hier irgendwie falsch?
Mitglied: H41mSh1C0R
10.11.2010 um 15:46 Uhr
wo kommt das cmdlet Get-TSSession her? Die Powershell hier kennt das nicht.
Bitte warten ..
Mitglied: micneu
10.11.2010 um 15:55 Uhr
ich habe gerade mal auf einem windows 7 ultimate 64bit geschaut und auch nix gefunden.
auf welchem system testets du das script?

gruß michael
Bitte warten ..
Mitglied: emjott
10.11.2010 um 16:06 Uhr
ich habe mir das Modul "Terminal Services PowerShell Module" von der Seite http://code.msdn.microsoft.com/PSTerminalServices heruntergeladen. Somit brauche ich wenigstens nicht "query user" über PS ausführen.
Bitte warten ..
Mitglied: filippg
11.11.2010 um 00:09 Uhr
Hallo,

>Position in der Sequenz. Ursache ist wahrscheinlich ein vom Benutzer angegebener Befehl "format-*", der zu
Konflikten mit der Standardformatierung führt.
die Fehlermeldung lässt ja irgendwie vermuten, dass du das "ft" weglassen bzw. durch ein SELECT ersetzen solltest. Also: "$status = Get-TSSession -UserName os04 | Select State". Daneben ist die Kapselung in Powershell manchmal etwas tricky. Es kann sein, dass du $status[2].State verwenden muss, auch wenn $status eigentlich nur das State-Property enthält.

Gruß

Filipp
Bitte warten ..
Mitglied: emjott
11.11.2010, aktualisiert 18.10.2012
Hallo Flipp,

nur mit \"$status = Get-TSSession -UserName os04 | Select State\" funktioniert es nicht, aber....

$status = Get-TSSession -UserName os04 | Select \"State\" 
$status.State
Ausagbe:
>Active

Vielen Dank

@Flipp: Gibt es im Netz irgendwo ein Umfassendes Powershell Nachschlagewerk a\'la Selfphp oder selfhtml?

Hier noch ein paar interessante Links zu dem Thema.
- http://blogs.technet.com/b/austria/archive/2007/08/08/howto-script-in-p ...
- http://www.powershellpro.com/
- http://www.johndcook.com/PowerShellCookbook.html#a19
- http://www.techotopia.com/index.php/Working_with_Arrays_in_Windows_Powe ...
- http://www.techotopia.com/index.php/Windows_PowerShell_1.0_Essentials
- http://www.administrator.de/forum/powershell-string-manipulieren-106722 ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wert aus Array ausschliessen PowerShell
gelöst Frage von ivaylo53Batch & Shell2 Kommentare

Guten Morgen Community, irgendiwe komme ich bei diesem Problem nicht weiter. Ich habe Zwei Objekte $alCSVUser und $alADUser. Diese ...

Batch & Shell
PowerShell Wert in Array finden
gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Hallo, in meinem Projekt lese ich einen Eintrag aus einer Combobox aus. Dieser wird in eine Variable / Objekt ...

Batch & Shell
PowerShell Array in Textdatei ausgeben
gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, der Titel hört sich nicht allzu schwer an. Ich habe eine Foreach Schleife die Durchläuft und ein Array ...

Batch & Shell
PowerShell Array Replace()
gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, ich habe ein Array, dass derzeit Daten aus einer CSV Datei importiert. Der Aufbau der CSV sieht so ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 10 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 17 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 19 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 22 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...