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 Abfrage im Script mit Timer

Frage Entwicklung

Mitglied: Andre1979

Andre1979 (Level 1) - Jetzt verbinden

14.12.2012 um 18:05 Uhr, 3946 Aufrufe, 6 Kommentare

Ich möchte in einem powershell Script eine abfrage einbauen

In einem Powershell Script frage ich den Status eines Snapmirror ab und schreibe den Status in eine Variable $snapmirrorstatus

$snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status | GetUnique -asstring | FT -AutoSize -hideTableHeaders

Die Ausgabe kann "idle" oder "transferring" sein.
Erst wenn der Status "idle" ist soll das Script weiter laufen.

Wie mache ich das am besten?
Mitglied: Friemler
14.12.2012, aktualisiert um 18:31 Uhr
Deinen Schnipsel in eine Do...While-Schleife stecken???
Bitte warten ..
Mitglied: Pjordorf
14.12.2012, aktualisiert um 18:40 Uhr
Hallo auch an dich "Powershell Abfrage im Script mit Timer",

Zitat von Andre1979:
Wie mache ich das am besten?
Vielleicht so?
01.
while ($snapmirrorstatus <> "idle"){ 
02.
    start-sleep -s 20 
03.
 
04.
    $snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status | GetUnique -asstring | FT -AutoSize -hideTableHeaders 
05.
}
Gruß,
Peter

PS. Zu langsam heute
Bitte warten ..
Mitglied: Andre1979
14.12.2012, aktualisiert um 22:50 Uhr
Ahhhhhh... ich habe es verstanden...

Als erstes füttern wir die Variable mit

$snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status | GetUnique -asstring | FT -AutoSize -hideTableHeaders

Dann wird mit "while ($snapmirrorstatus <> "idle")" die Bedingung abgefragt.
Da ich beim starten des Script immer davon ausgehe, das der Status "transferring" ist, ist das Ergebnis also wahr.
Dann fängt mit der "{" der Loop an, der Timer läuft mit "Start-sleep" und danach wird die Variable neu gefüllt und der Loop mit "}" beendet und die Bedingung erneut abgefragt.
Das ganze endet erst wenn die Bedingung nicht mehr erfüllt ist und der Loop somit unterbrochen wird, und der nächste Teil des Scripts abgearbeitet wird.
Bitte warten ..
Mitglied: Andre1979
15.12.2012 um 11:39 Uhr
Das mit der Schleife habe ich verstanden, nur lässt sich die $snapmirrorstatus Variable nicht füllen....

mit "Get-NaSnapmirror -Name $vol | select Status | FT -AutoSize -hideTableHeaders"
bekomme ich als Ausgabe "idle" oder "transferring".

möchte ich jedoch die Variable füllen:
$snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status | FT -AutoSize -hideTableHeaders
und mir diese dann mit "Write-Host $snapmirrorstatus" Ausgeben lassen, bekomme ich als Antwort:

Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartDa
ta Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndD
ata Microsoft.PowerShell.Commands.Internal.Format.FormatEndData

Warum wird die Variable nicht gefüllt?

P.S zu meiner Verteidigung: ich blutiger Anfänger was Scripting angeht..............
Bitte warten ..
Mitglied: Andre1979
15.12.2012, aktualisiert um 13:33 Uhr
konnte das Problem lösen
01.
$snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status 
02.
while ($snapmirrorstatus -cnotlike "@{Status=Idle}"){ 
03.
	Write-Host $snapmirrorstatus 
04.
    start-sleep -s 20 
05.
    $snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status 
06.
07.
Write-Host $snapmirrorstatus 
08.
 
Aber warum funktioniert das nicht?
01.
$snapmirrorstatus = Get-NaSnapmirror -Name $vol | select Status | FT -AutoSize -hideTableHeaders
Wer kann mir mal das Licht anmachen, bzw. wie sollte das im Optimalfall aussehen?
Bitte warten ..
Mitglied: Andre1979
16.12.2012 um 14:27 Uhr
Habe den Lichtschalter gefunden....
Das ganze mal auf den Status des Windows Update Dienst bezogen

01.
$ServiceName ="wuauserv" 
02.
$Date = Get-Date 
03.
$ServiceStatus = Get-Service -Name $ServiceName 
04.
while ($ServiceStatus.Status -cnotlike "Stopped"){ 
05.
Write-Host "am" $Date "ist der Service" $ServiceStatus.DisplayName "im Status" $ServiceStatus.Status "- erneute  Abfrage in 20 Sekunden" 
06.
start-sleep -s 20 
07.
$ServiceStatus = Get-Service -Name $ServiceName 
08.
}
Der Denkfehler war, das $ServiceStatus ein Array und keine Variable ist.
01.
 
02.
PS C:> $ServiceName ="wuauserv" 
03.
PS C:> $ServiceStatus = Get-Service -Name $ServiceName 
04.
PS C:> $ServiceStatus 
05.
 
06.
Status   Name               DisplayName 
07.
------   ----               ----------- 
08.
Running  wuauserv           Windows Update
Um jetzt sauber mit z.B dem Status zu arbeiten, muss bei der Abfrage des Array der Spaltenname angegeben werden
01.
PS C:> $ServiceStatus.Status 
02.
Running
Bitte warten ..
Ähnliche Inhalte
Windows 10
Powershell Script UAC Abfrage deaktivieren
gelöst Frage von schicksalWindows 102 Kommentare

Hallo zusammen, kann man für ein bestimmtes Powershellscript die UAC deaktivieren? Ich starte mittels Verknüfung auf einem USB Stick ...

Exchange Server
Powershell Archivmailbox abfrage Abfrage
Frage von Clubby84Exchange Server5 Kommentare

Hallo zusammen, möchte gerne eine Ausgabe in eine Datei haben, mit allen Mailboxen, bei denen das Archiv noch nicht ...

Windows Server
PowerShell-Abfrage
gelöst Frage von r00t-1337Windows Server5 Kommentare

Hallo Zusammen, ich bin auf der suche nach einer Powershell-Abfrage welche mir alle AD-Gruppen inkl. aller Benutzer darin auflistet ...

Batch & Shell
Powershell: Remote-Abfrage in Shell und Script unterschiedliche Ergebnisse
gelöst Frage von AnkhMorporkBatch & Shell2 Kommentare

Hallo zusammen, tgif - diesmal auch mit mir. :-( PS 4.0 unter Win 7 64 bit Ich habe folgenden ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 103 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.