Jump to content

itsa

Members
  • Gesamte Inhalte

    49
  • Registriert seit

  • Letzter Besuch

Reputation in der Community

0 Neutral

1 Benutzer folgt diesem Benutzer

Über itsa

  • Rang
    Newbie

Letzte Besucher des Profils

627 Profilaufrufe
  1. function Add-Broker-Apps { Param ( $Broker = "", $Desktop = "", $App ="", $TAGs = "" ) $DataGridView1.Rows.Add($Broker, $Desktop, $App, $Tags ) } for($i=0; $i -lt $APPs_On_Broker.length; $i++) { Add-Broker-Apps "$selPC" "$($APPs_On_Broker[$i].PublishedName)" "$($Broker_TAG.PublishedApplications)" "$($APPs_On_Broker[$i].RestrictToTag)" } Im Endeffekt soll sobald mehrere Desktops pro Server veröffentlicht werden das ganze nach Server gruppiert werden: Server ==> Desktop1 ==> Tag1 Desktop2 ==> Tag2 Server2 ==> Desktop3 ==> Tag3 Desktop4 ==> Tag4
  2. OK, super danke für den Hinweis.
  3. Hallo Zusammen, vielleicht kann mir einer von euch helfen, habe schon einiges zu dem Thema gefunden aber halt fast nur für C#. Ich möchte eine Liste von veröffentlichen Desktops pro Server gruppieren mit Datagridview. Mein aktueller Workaround schreibt pro Desktop und Desktop eine Zeile. Schöner ist es wenn pro Server Gruppiert wird und in der Zweiten Spalte die Desktops angezeigt werden. Hat jemand so etwas in PS schon gemacht, falls ja wie? Danke im voraus.
  4. WSUS und GPO läuft, hier geht es nur um das erzwingen der Updates für schnellere Bereitstellung der Server.
  5. Du meinst aus dem $Computers ein weiteres Array Feld betanken? Diese Variable verliert aber in der nächsten Foreach Schleife Ihre Werte weil diese ja neu betankt wird, oder sehe ich das falsch?
  6. In die generierten Variablen soll der Wert $WU_Status1 importiert werden damit am Ende geprüft werden kann ob der PC neuzustarten ist oder nicht. Und daher muss jeder Update Status genau mit jedem PC übereinstimmen welche am Schluss ausgewertet werden soll. $Computers = Get-Content -Path "c:\tmp\Test.txt" foreach($Computer in $Computers ){ New-Variable -Name "PC_number_$i" $i ++ } ############################################################# ######## Vorbereitungen - Kopieren und importieren ###### foreach ($Computer in $Computers){ #### $testpath = "\\" + $computer + "\C$\Windows\System32\WindowsPowerShell\v1.0\Modules\" [string]$Copypath = $testpath $item_path = $testpath + "PSWindowsUpdate\" $WU_Module_path = "\\" + $computer + "\C$\Windows\System32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate" $Path_result = Test-Path -Path $WU_Module_path # Modul importieren falls es nicht vorhanden ist if($Path_result -eq $false){ copy "C:\Temp\PSWindowsUpdate\" $testpath copy "C:\Temp\PSWindowsUpdate\*" $item_path Write-Host "Kopieren von WU-Update abgeschlossen" + $Computer Invoke-Command -ComputerName $Computer -ScriptBlock { Import-Module PSWindowsUpdate } Write-Host $Computer + "Modul importiert" } } ############################################################# ############################################################# ############# Anstarten der Updates auf allen PC's ########## $i = 1 foreach($Computer in $Computers){ $WU_Status1 = Invoke-Command -ComputerName $Computer -ScriptBlock { Get-WUInstall -ListOnly} PC_number_$i = $WU_Status1 if(!$WU_Status1){ $Computer + " keine Updates Verfügbar, fahre mit nächsten Computer fort" continue } Invoke-wuinstall -ComputerName $Computer -Script {Get-WUInstall -AcceptAll -AutoReboot -IgnoreUserInput} -Confirm:$false $Computer + " Update Installation 1 angestoßen" $i++ } # Warte 10 Minuten "Warte 10 Minuten" Start-Sleep -Seconds 120 ######################################################################################################### ############### Prüfe ob die PC's einen ausstehenden Neustart haben, falls ja Neustart durchführen ##### foreach ($Computer in $Computers){ $counter = 1 do{ $WU_Status2 = Invoke-Command -ComputerName $Computer -ScriptBlock { Get-WUInstall -ListOnly} #$Installer_Status = Invoke-Command -ComputerName $Computer -ScriptBlock {Get-WUInstallerStatus} $Computer + " Installer Status: " + $WU_Status2 + " Counter: " +$counter # Informativ damit man weiß wo das Skript steht if($WU_Status2){ "WU Status ist: " + $WU_Status2 "Warte 2 Minuten in Schleife zum Überwachen der Updates" Start-Sleep -Seconds 10 } $counter ++ } until((!$WU_Status2) -or ($counter -eq 10)) $reboot_pending = Invoke-Command -ComputerName $Computer -ScriptBlock { Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"} $Computer + "Neustart ausstehend: " + $reboot_pending # Informativ damit man weiß wo das Skript steht if(($reboot_pending -eq $true) -or ($WU_Status1)){ $Computer + " Startet neu" Restart-Computer -ComputerName $Computer -Force } } # Warte 2 Minuten auf die Server bis Sie die Updates verarbeitet haben "Warte 2 Minuten in Schleife zum Überwachen des Update Status" Start-Sleep -Seconds 120 ######################################################################## ##### Zweite Update Installation ####################################### $i = 1 foreach ($Computer in $Computers){ $WU_Status3 = Invoke-Command -ComputerName $Computer -ScriptBlock { Get-WUInstall -ListOnly} #Update Status abfragen if((!$WU_Status3) -or (!$PC_number_[$i])){ $Computer + " keine Updates bei Installationschritt 2 Verfügbar, fahre mit nächsten Computer fort" $i++ continue } $i++ #$install_result = Invoke-Command -ComputerName $Computer -ScriptBlock {Get-WindowsUpdate} #Update Status abfragen if($WU_Status3){ Invoke-wuinstall -ComputerName $Computer -Script {Get-WUInstall -AcceptAll -AutoReboot -IgnoreUserInput} -Confirm:$false $Computer + " Update Installation 2 angestoßen" } $counter = 1 do{ $WU_Status3 = Invoke-Command -ComputerName $Computer -ScriptBlock { Get-WUInstall -ListOnly} $Computer + " Installer Status: " + $WU_Status3 + " | Counter: " +$counter # Informativ damit man weiß wo das Skript steht if($WU_Status3){ "Warte 2 Minuten in Schleife zum Überwachen des Installer Status" Start-Sleep -Seconds 120 } $counter ++ } until(!$WU_Status3) $reboot_pending = Invoke-Command -ComputerName $Computer -ScriptBlock { Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"} $Computer + "Neustart ausstehend: " + $reboot_pending # Informativ damit man weiß wo das Skript steht if(($reboot_pending -eq $true) -or ($WU_Status3)){ $Computer + " Startet neu" Restart-Computer -ComputerName $Computer -Force } }
  7. Hi, Und wie rufe ich die Variablen wieder auf ohne die direkt zu benennen? In meinen folgenden foreach Schleifen wird auch wieder per Zähler $i die genaue ID der Computer aufgerufen welche an den Hauptvariablennamen angefügt werden muss, um diese aufzurufen.
  8. Hallo Zusammen, @BOfH_666 das auslesen ist ja kein Problem, ich möchte folgenden Programmcode gerne die einzelnen Variablen wieder aufrufen und mit Werten befüllen aber ohne das ich diese händisch angebe. Beim deklarieren in der Foreach Schleife gebe ich den Hauptnamen mit ( $PC_number_ ) und durch den Zähler ($i) den eindeutigen Namen. Wenn ich diese dann aufrufe geschieht die wieder in einer Forreach Schleife für jeden Computer und hier muss ich exakt an die Variablen ran kommen welche für den speziellen Computer einst generiert worden ist. Das heißt Computer1 in der Text.txt bekommt die $PC_number_1 und den Wert welchen ich rein schreibe ( Anzahl an Windows Updates ) und Computer2 ==> $PC_number_2 etc.pp. Für sowas müsste es doch eine Möglichkeit zum Aufrufen geben. leider funktioniert es mit den bisherigen Methoden nicht welche ich versucht habe. Beste Grüße
  9. Servus, ich steh irgenwie auf dem Schlauch, ich möchte die im nachfolgenden generierten Variablen aufrufen mit einem Platzhalten ähnlich wie sie auch angelegt werden. #Variablen anlegen $i= 1 $Computers = Get-Content -Path "c:\tmp\Test.txt" foreach($Computer in $Computers ){ New-Variable -Name "PC_number_$i" $i ++ } #Variablen ansteuern ohne diese manuell aufzurufen $i = 1 $PC_number_$i #geht nicht "$PC_number"_+"$i" #geht nicht $PC_number_+"$i" #geht nicht Habt ihr hier eine Lösung für mich?
  10. Hallo Zusammen, gibt es in den GPO's die Möglichkeit die Serverauthentifizierung innerhalb vom "Internetexplorer ==> Optionen ==> Inhalte ==> Zertifikate ==> Erweitert ==> Serverauthentifizierung " den Haken zu entfernen. Ich konnte bisher keinen Punkt finden. In den Benutzereinstellungen kann ich bei der Config des IE den Reiter nicht auswählen, er ist leider ausgegraut. Beste Grüße itsa
  11. DFS Filelock deativieren

    Hallo Andre, den Hersteller haben wir schon angeschireben und leider gibt es diese Option nicht, wir verwenden den PDF Editor von der Firma Tracker Software. Einen PDF Reader welcher nur lesend öffnet ist Sumatra PDF dieser schreibt seine zu öffnenden Files in einen Cache von Appdata\Temp allerdings ist dieser auf Grund seiner Sicherheitsupdate Politik keine Option für uns. Und wir benötigen einen Editor. Danke für die Antteilnahme an meinem Thema ich habe mir schon gedacht das es nicht ohne Änderungen an unserem Software Inventar möglich ist. Ich werde das intern mal so weiter geben. Beste Grüße
  12. DFS Filelock deativieren

    Ich habe nicht gesagt das es etwas mit DFS zu tun hat sondern ob es die Möglichkeit gibt hier eine Einstellung vorzunehmen Der Hersteller hat dass schon verneint, dass die Sperre nicht zu umgehen ist. Aber trotzdem danke für die Anteilnahme.
  13. DFS Filelock deativieren

    Guten Morgen, besteht die Möglichkeit am DFS den Filelock auf einen bestimmten Ordner zu deaktivieren? Wir haben einen Ordner mit PDF Dateien von unserer Technik. Wenn Benutzer aus der Produktion die PDF Dateien lesend geöffnet haben können die Kollegen aus der Technik keine Änderungen abspeichern solange wie jemand aus der Firma noch die Datei geöffnet hat. Beste Grüße
  14. Windows-Komponenten/Windows UpdateAusblenden Richtlinie Einstellung Kommentar Automatische Updates konfigurieren Aktiviert Automatische Updates konfigurieren: 4 - Autom. Herunterladen und laut Zeitplan installieren Die folgenden Einstellungen sind nur erforderlich und anwendbar, wenn die Option 4 ausgewählt wurde. Während automatischer Wartung installieren Aktiviert Geplanter Installationstag: 0 - Täglich Geplante Installationszeit: 09:00 Wenn Sie für den geplanten Installationstag "4 - Autom. herunterladen und laut Zeitplan installieren" ausgewählt und einen Zeitplan angegeben haben, können Sie mithilfe der folgenden Optionen Updates auch einmal pro Woche, alle zwei Wochen oder einmal pro Monat suchen lassen: Jede Woche Deaktiviert Erste Woche des Monats Deaktiviert Zweite Woche des Monats Deaktiviert Dritte Woche des Monats Deaktiviert Vierte Woche des Monats Deaktiviert Updates für andere Microsoft-Produkte installieren Deaktiviert Richtlinie Einstellung Kommentar Automatische Updates sofort installieren Aktiviert Automatischen Neustart nach Updates während der Nutzungszeit deaktivieren Aktiviert Nutzungszeit Start: 07:00 Ende: 12:00 Richtlinie Einstellung Kommentar Clientseitige Zielzuordnung aktivieren Aktiviert Zielgruppenname für diesen Computer Test Richtlinie Einstellung Kommentar Die Standardoption "Updates installieren und herunterfahren" im Dialogfeld "Windows herunterfahren" nicht anpassen Deaktiviert Empfohlene Updates über automatische Updates aktivieren Aktiviert Erneut zu einem Neustart für geplante Installationen auffordern Aktiviert Folgenden Zeitraum (in Minuten) warten, bevor zu einem Neustart aufgefordert wird: 180 Richtlinie Einstellung Kommentar Keine Verbindungen mit Windows Update-Internetadressen herstellen Aktiviert Keinen automatischen Neustart für geplante Installationen automatischer Updates durchführen, wenn Benutzer angemeldet sind Aktiviert Neustart für geplante Installationen verzögern Aktiviert Folgenden Zeitraum (in Minuten) warten, bevor ein geplanter Neustart aufgefordert wird: 30 Richtlinie Einstellung Kommentar Nichtadministratoren gestatten, Updatebenachrichtigungen zu erhalten Deaktiviert Nutzungszeitbereich für automatische Neustarts angeben Aktiviert Geben Sie den maximalen Nutzungszeitbereich an: Max. Bereich: 9 Richtlinie Einstellung Kommentar Option "Updates installieren und herunterfahren" im Dialogfeld "Windows herunterfahren" nicht anzeigen Deaktiviert Signierte Updates aus einem Intranetspeicherort für Microsoft-Updatedienste zulassen Aktiviert Softwarebenachrichtigungen aktivieren Deaktiviert Suchhäufigkeit für automatische Updates Aktiviert In folgenden Abständen (Stunden) nach Updates suchen: 1
×