
ineedhelp
Members-
Gesamte Inhalte
110 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von ineedhelp
-
GPO: Google Chrome und Citrix Receiver
ineedhelp antwortete auf ein Thema von ineedhelp in: Active Directory Forum
Vielen Dank für die Links. Die haben leider nicht gewünschte Ergebnis. Nach erneuten Öffnen von Google Chrome muss ich immer noch bestägigen, dass der Receiver installiert ist. -
GPO: Google Chrome und Citrix Receiver
ineedhelp hat einem Thema erstellt in: Active Directory Forum
Die Google Chrome-Einstellungen aus dem gp-pack Browser – Chrome, Edge, Edge (Chromium), Firefox habe ich für unsere Domäne übernommen. Leider wird jetzt nicht mehr gespeichert, dass Citrix Workspace insalliert ist. Nach jedem Neustart muss Receiver bereits installiert anklickt werden. In der Einstellung Eine Liste mit Protokollen festlegen, über die eine externe App aus aufgeführten Quellen gestartet werden kann, ohne beim Nutzer nachzufragen habe ich den Eintrag [{"allowed_origins": ["*"], "protocol": "receiver"}] gemacht und in der Einstellung Browserdaten beim Beenden löschen habe ich die Werte browsing_history, download_history, cookies_and_other_site_data, password_signin, autofill gesetzt. Welche Gruppenrichtlinieneinstellungen müssen noch gesetzt werden, dass sich Google Chrome merkt, dass der Receiver bereits installiert ist? Vielen Dank im Voraus. -
Zugriff auf dynamisch erzeugte Steuerelemente in WPF mit PowerShell
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Ja. Möglichkeit gefunden. Funktion mit Parameter definieren und diese Funktion im Click-Ereignishandler mit Parameter aufrufen. -
Zugriff auf dynamisch erzeugte Steuerelemente in WPF mit PowerShell
ineedhelp hat einem Thema erstellt in: Windows Forum — Scripting
Nachdem auf eine Schalftfläche geklickt wurde, werden Steuerelemte in einer grafischen WPF-Oberfläche dynamisch erzeugt und zu einem in Xaml-Code definierten Stackpanel hinzugefügt. Unter den dynamisch erzeugten Steuerelementen befindet sich auch eine Schaltfläche. In dem Click-Ereignishandler soll auf eine zur Laufzeit erzeugte Textbox zu gegriffen werden. Das Textbox-Objekt wird einer Variable zu gewiesen. Trotz das die Variable im selben Gültigkeitsbereich erzeugt wurde, wird die Variable im Ereignishandler nicht gefunden. Die FrameworkElement.FindName(String)-Methode liefert auch nur $null zurück. Über die Children-Auflistung des Stackpanels kann aber zur Textbox navigiert werden. Das ist aber bei sehr verschachteles Xaml umständlich, unübersichtlich und fehleranfällig. Gibt eine Möglichkeit die Variable dem Click-Ereignishandler als Parameter zu übergeben? Vielen Dank im Voraus. $xaml = @' <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="500" Width="800" WindowStartupLocation="CenterScreen" > <Grid Background="LightGreen"> <Grid.ColumnDefinitions> <ColumnDefinition Width="200"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <StackPanel VerticalAlignment="Center"> <Button x:Name="ComputerButton" Content="Rechner" Margin="20" /> <Button x:Name="UserButton" Content="Benutzer" Margin="20" /> </StackPanel> <StackPanel Grid.Column="1" Background="White" Margin="0,20,20,20"> <StackPanel x:Name="Content" HorizontalAlignment="Left" /> </StackPanel> </Grid> </Window> '@ $reader = [System.Xml.XmlReader]::Create([System.IO.StringReader]$xaml) $window = [System.Windows.Markup.XamlReader]::Load($reader) $contentPanel = $window.FindName('Content') $window.FindName('ComputerButton').Add_Click({ $contentPanel.Children.Clear() $label = New-Object System.Windows.Controls.Label $label.Content = 'Rechnername:' $label.FontWeight = 'ExtraBold' $textBox = New-Object System.Windows.Controls.TextBox $textbox.Margin = '20,0,20,0' $textBox.Name = 'ComputerNameTextBox' $textBox.Width = '250' $button = New-Object System.Windows.Controls.Button $button.Content = 'Suchen' $button.IsDefault = $true $button.Width = '100' $button.Add_Click({ # $computer = $textBox.Text Write-Host ($null -eq $textBox) # Ausgabe: True # $computer = $window.FindName('ComputerNameTextBox').Text Write-Host ($null -eq $window.FindName('ComputerNameTextBox')) # Ausgabe: True $computer = $contentPanel.Children[1].Children[0].Text if (-not([String]::IsNullOrEmpty($computer)) ) { [System.Windows.Forms.MessageBox]::Show($computer) } }) $stackPanel = New-Object System.Windows.Controls.StackPanel $stackPanel.Orientation = 'Horizontal' $stackPanel.Children.Add($textBox) $stackPanel.Children.Add($button) $contentPanel.Children.Add($label) $contentPanel.Children.Add($stackPanel) }) $window.FindName('UserButton').Add_Click({ $contentPanel.Children.Clear() $label = New-Object System.Windows.Controls.Label $label.Content = 'NICHT IMPLEMENTIERT' $label.FontWeight = 'ExtraBold' $label.Foreground = 'Red' $contentPanel.Children.Add($label) }) [void]$window.ShowDialog() -
iTunes per GPO verteilen
ineedhelp antwortete auf ein Thema von ineedhelp in: Active Directory Forum
Leider ist da die Entscheidung gefallen. Mit Sicherheit ein Grund hierfür war, dass ich als Einziger sich mit dem SCCM auskannte und die neue verantwortliche Person sich nicht mit dem Thema SCCM auseinander setzen wollte. Also werden die Rechner wieder mit dem USB-Stick installiert, Programme manuell oder per GPO nachinstalliert. WSUS ist im Produktivnetz im Einsatz. Es geht um das Testen vom WSUS Package Publisher. -
iTunes per GPO verteilen
ineedhelp antwortete auf ein Thema von ineedhelp in: Active Directory Forum
SCCM war hier bereits erfolgreich im Einsatz. Vor Jahren wurde dieser aber leider mit einer neuen verantwortlichen Person abgeschaft. Softwareverteilung mit Gruppenrichtlinien würde völlig ausreichend. Der steht schon auf meiner Todo-Liste. Leider hatte ich noch keinerlei Zeit, den in meinem Testnetzwerk zu teseten -
iTunes per GPO verteilen
ineedhelp antwortete auf ein Thema von ineedhelp in: Active Directory Forum
Vielen Dank. Dann werde ich das Programm per Skript unbeaufsichtigt installieren. -
Von der Seite https://www.apple.com/itunes/download/win64 habe ich die letzte Version von iTunes heruntergeladen und aus der heruntergeladenen .exe-Datei das ,msi-Paket für iTunes extrahiert. Dieses Paket möchte ich per GPO auf die Rechner in der Domäne verteilen. Unterhalb des Knotens Computerkonfiguration\Richtlinien\Softwareeinstellungen\Softwareinstallation habe ich erfolglos versucht, das iTunes-Paket bereitzustellen. Die Meldung besagt, dass Das Hinzufügen fehlgeschlagen ist. Die Bereitstellungsinformationen konnten nicht vom Paket abgerufen werden. Stellen Sie sicher, dass das Paket richtig ist. Eine manuelle Installation mit dem Paket habe ich bereits erfolgreich auf einem Testrechner durchgeführt. In der Freigabe liegen weitere Msi-Pakete, die bisher erfolgreich per GPO verteilt wurden. Wer kann mir helfen, dass das Paket per Softwareverteilung auf die Rechner installiert wird? VIelen Dank im Voraus.
-
Auszug aus Kapitel 5 Die PowerShell-Pipeline aus dem Buch PowerShell 7 und Windows PowerShell von Dr. Tobias Weltner In Bezug auf Sort-Object und Group-Object hast Du natürlich recht. Diese Cmdlets blockieren die asychrone Streaming-Verarbeitung, weil sie auch erst einmal alle Objekte kennen müssen.
-
Musst das Ergebnis in eine Variable zwischengespeichert werden? Kannst Du das Ergebnis nicht direkt mit Pipeline-Operator | an den nächsten Befehl weiterleiten. Die Pipeline ist ein moderner Streaming-Mechanismus der ohne Variablen auskommt und speicherschonend arbeitet.
-
Dateidownload mit Invoke-WebRequest
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
@Dukel Vielen Dank. Das Github-Repository von NeverRed hatte ich mir bereits angeschaut, um herauszufinden, wie NeverRed IrfanView herunterlädt. -
Dateidownload mit Invoke-WebRequest
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Moin @NilsK. Mir liegt es völlig fern, dieser (kleinen) Bitte nicht zu entsprechen und zu diskutieren. Ich versuche nur zu verstehen, wo der Unterschied zwischen Wie fahre ich mit dem Auto nach Dortmund? oder Wie fahre ich mit Auto? liegt. Die Antwort Nimmm die Bahn. In zwei Stunden bist Du in Dortmund. kannte ich auch vor meiner Frage. Am nächsten Tag möchte ich nach Berlin: Wie fahre ich mit dem Auto nach Berlin? Antwort: Nimm die Bahn. von Hannover bist Du in drei Stunden in Berlin. Auto kann ich immer nicht noch fahren. Nächste Woche möchte ich nach München. In fünf Stunden bist Du in München, wenn Du die Bahn nimmst. Wie fahre ich mit dem Auto zu meinen Freunden? Nimm das Fahrrad. Okay, das Auto wird verkauft. Die Antwort: Benutze baramundi oder SCCM, um die Updates auf Deine 500 Clients bereitzustellen, kannte ich auch vor auch der Fragestellung. Das eigentliche Problem, mit PowerShell Dateien von (speziellen) Internetseite herunterzuladen, wird so nicht gelöst werden. Wenn es natürlich für die Problemlösung hilft, werde ich künftig alle Details erwähnen. Viele Grüße -
Dateidownload mit Invoke-WebRequest
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Moin. Leider habe ich es noch verstanden. Es ist richtig, dass es mir nicht hilft, wenn mir jemand sagt, dass ich das Auto schieben kann. Dafür ist es doch unwichtig, wenn ich heute nach Dortmund, morgen nach Berlin und nächste Woche nach München möchte. Wie ich die Zielorte erreichen kann, weiß ich. Nur möchte ich ein anderes (komfortables) Reisemittel nutzen. Ich habe nicht verstanden, welchen Unterschied es gemacht hätte, wenn ich gefragt hätte: Um meine Systeme zu aktualisieren, möchte ich (automatisiert) die Installer per PowerShell von einer Interseite herunterladen. Statt der Setuproutine bekomme ich nur html gespeichert. Wie kann ich den Download per PowerShell realisieren? Eine automatisierte Lösung zur Bereitstellung von Software ist bereits erfolgreich implementiert. Meines Erachtens habe ich nicht nach einer Lösung für das Problem Y gefragt, um X zu lösen. Da X ist bereits gelöst. Aber wenn es natürlich für Zukunft hilft, werde ich versuchen, keine Details wegzulassen. Viele Grüße -
Dateidownload mit Invoke-WebRequest
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Moin @NilsK. Okay. Vielleicht mein Fehler. Für mich ging es nur darum, wie ich die Dateien (automatisiert) herunterladen kann. Die Systeme zu aktualisieren, ist ja bereits gelöst und hatte für mich nichts der Problemstellung zu tun und ich wollte mich nur auf das Wesentliche beschränken. Wenn ich den Weg nach Dortmund kenne, aber das Auto nicht starten kann, dann Suche ich doch die Lösung wie ich mit dem Auto losfahren kann. Aber ich gelobe Besserung und werde beim nächsten Mal die gesamte Aufgabenstellung schildern. -
Dateidownload mit Invoke-WebRequest
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Moin @NilsK. Mit dem Skript wollte ich genau ein automatisierten Download erreichen. Vielleicht sollte es fürs Erste reichen, wenn mich das Skript benachtrichtig, wenn eine neue Version verfügbar ist. Moin @testperson Vielen Dank für die Lösung mit NeverRed. Das werde ich mir mal bei Zeiten genauer anschauen .... -
Dateidownload mit Invoke-WebRequest
ineedhelp hat einem Thema erstellt in: Windows Forum — Scripting
@All Die Installer möchte ich per PowerShell von der Webpage https://www.irfanview.com/64bit.htm. Leider bekomme ich als Ergebnis immer nur eine html-Seite gespeichert. Wenn ich die Datei mittels Browser herunterlade, wird mir ein kryptischer Downloadlink angezeigt: https://download.fosshub.com/Protected/expiretime=...34534...;badurl=....asdfasdf.../...asdfas.../iview462_plugins_x64_setup.exe Mir fehlt leider die Idee, wie ich es lösen kann. Vielleicht gibt es hier jemand, der mir helfen kann... Hier mein bisheriges Ergebnis. Versuche mit der .NET-Klasse System.Net.WebClient blieben auch erfolglos. (Auf die Verwendung von .NET-Klasse soll ja verzichtet werden!!!) Vielen Dank im Voraus $previousProgressPreference = $ProgressPreference $ProgressPreference = "SilentlyContinue" $response = Invoke-WebRequest -Uri https://www.irfanview.com/64bit.htm $response.Links | Where-Object { ($PSItem.href -like "*g*.exe") -or ($PSItem.href -like "*plugins*.exe") } | Select-Object -ExpandProperty href | ForEach-Object { $fileName = Split-Path $PSItem -Leaf Write-Output "Downloading '$fileName'. Please wait ..." # Allways download a webpage. Invoke-WebRequest -Uri $PSItem -OutFile $fileName } $ProgressPreference = $previousProgressPreference -
Ordnerumleitung nur für bestimmte Systeme
ineedhelp hat einem Thema erstellt in: Active Directory Forum
@All Gibt es die Möglichkeit die Ordnerumleitung nur für bestimmte Systeme zu aktivieren. (Geht das vielleicht mit Loopback-Processing?) Zum Beispiel soll die Ordnerumleitung nur für die RDS-Host aktiv sein, und nicht für andere Serversysteme. Wie kann man das lösen, dass man auf bestimmte Systeme die Vorzüge der Ordnerumleitung genießt und auf andere Systeme es nicht benötigt bzw. eher störend empfinden? Vielen Dank für die Anregung. -
Invoke-CimMethod : Parameter sind ungültig
ineedhelp hat einem Thema erstellt in: Windows Forum — Scripting
@All Beim Ausführung der Methode InstallProductKey der Cim-Klasse SoftwareLicensingService bekomme ich immer den Fehler geworfen, dass die Parameter ungültig sind. Lt. (Get-CimClass SoftwareLicensingService).CimClassMethods['InstallProductKey'].Parameters # OUTPUT: # # Name CimType Qualifiers ReferenceClassName # ---- ------- ---------- ------------------ # ProductKey String {ID, in} erwartet die Methode InstallProductKey einen Parameter ProductKey vom Typ String. Der Aufruf von Invoke-CimMethod -ClassName SoftwareLicensingService -MethodName InstallProductKey -Arguments @{ ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" } # OUTPUT: # # Invoke-CimMethod : Die Parameter der Methode sind ungültig. # In Zeile:1 Zeichen:1 # + Invoke-CimMethod -ClassName "SoftwareLicensingService" -MethodName "I ... # + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # + CategoryInfo : NotSpecified: (root\cimv2:SoftwareLicensingService:String) [Invoke-CimMethod], CimException # + FullyQualifiedErrorId : HRESULT 0x8004102f,Microsoft.Management.Infrastructure.CimCmdlets.InvokeCimMethodCommand wirf mir aber ständig einen Fehler. Was habe ich übersehen? Der Aufruf von $slmgr = Get-WmiObject -Class SoftwareLicensingService $slmgr.InstallProductKey("xxxxx-xxxxx-xxxxx-xxxxx") funktioniert. Gerne würde ich es mit CimCmdlets lösen, da ich gelesen habe, dass die WMI-Cmdlets veraltet sind und man besser den CimCmdlets den Vorzug leisten sollte. Vielen Dank für Eure Hilfe. -
PSScriptAnalyzer gibt Warnung aus, dass der Parameter nicht in Verwendung ist
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Danke. -
PSScriptAnalyzer gibt Warnung aus, dass der Parameter nicht in Verwendung ist
ineedhelp hat einem Thema erstellt in: Windows Forum — Scripting
Ich habe ein einfaches PowerShell-Skript, welches meine GPOs sichert und alle Sicherungen, die älter als 30 Tage sind löscht. Ich habe den PSScriptAnalyzer über mein BackUp-Skript laufen und der gibt die Warnung aus: The parameter 'DeleteAfterDays' has been declared but not used. Aber in Zeile 23 verwende ich den Parameter. Warum kommt die Meldung? Ich weiß nicht, wie ich es lösen kann. Danke für die Hilfe. -
Splatting: Hashtable direkt beim Aufruf der Funktion definieren u. übergeben
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Ich wollte die Deklarierung der Variable/des Hashtables vermeiden, weil ich diese nur einmal beim Aufruf der Funktion/des Cmdlets benötige. Ich denke auch, dass das erste Beispiel das meistverwendete ist und werde die Splatting-Technik so nutzen, wie sie allemein ist. -
Splatting: Hashtable direkt beim Aufruf der Funktion definieren u. übergeben
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Forum — Scripting
Mein zweites Beispiel hatte ich auch unvorteilhaft formatiert. Da ging es mir nur darum, das Hashtable an die Funktion weiterzuleiten. Vielleicht ist es ja so bisser lesbar. # My Splatting tries # ------------------ function MyFunc { param ( [String]$paramOne, [String]$paramTwo, [String]$paramThree, [String]$paramFour ) Write-host Write-Host '--- In MyFunc ----' Write-Host "This is $paramOne" Write-Host "This is $paramTwo" Write-Host "This is $paramThree" Write-Host "This is $paramFour" } @{ paramOne = 'This is paramter One.' paramTwo = 'This is paramter Two.' paramThree = 'This is paramter Three.' paramFour = 'This is paramter Four.' } | ForEach-Object { MyFunc @_ } Vielen Dank für die Lektüre. Die habe ich mir gleich zu Gemüte geführt. Da ich der Einzige in unserem zehn Mannteam ist, der Windows PowerShell halbwegs beherrsche, könnte ich gleich Standards für die Skripterstellung im Team definieren. -
Splatting: Hashtable direkt beim Aufruf der Funktion definieren u. übergeben
ineedhelp hat einem Thema erstellt in: Windows Forum — Scripting
Hallo Communtiy. Gerade bin ich über das Splatting gestolpert und finde es feine Sache, um die PS-Skripte lesbarer zu machen. Wie muss der Ausdruck aussehen, wenn ich das Hashtable direkt beim Aufruf der Funktion/des Commandlets definiere und übergeben möchte? Bisher habe ich dazu nichts im Netz gefunden und Ich habe auch schon die unterschiedlichsten Sachen ausprobiert. # My Splatting tries # ------------------ function MyFunc { param ( [String]$paramOne, [String]$paramTwo, [String]$paramThree, [String]$paramFour ) Write-host Write-Host '--- In MyFunc ----' Write-Host "This is $paramOne" Write-Host "This is $paramTwo" Write-Host "This is $paramThree" Write-Host "This is $paramFour" } $SplattedParams = @{ paramOne = 'One.'; paramTwo = 'Two.'; paramThree = 'Three.'; paramFour = 'Four.' } MyFunc @SplattedParams @{ paramOne = 'One.'; paramTwo = 'Two.'; paramThree = 'Three.'; paramFour = 'Four.' } | ForEach-Object { MyFunc @_ } # NOT working!!! MyFunc @${ paramOne = 'One.'; paramTwo = 'Two.'; paramThree = 'Three.'; paramFour = 'Four.' } Danke für die Hilfe. -
@All Mit Hilfe von AutoIt habe ich eine grafische Benutzeroberfläche erstellt. Diese wird per Gruppenrichtlinie als benutzerdefinierte Benutzeroberfläche gestartet. Die Benutzer habe die Möglichkeit über die UI allgemeinverfügbare Programme zu starten. Das funktioniert sehr gut. Jetzt gibt es das Problem, dass mancher Benutzer auf Daten von Ihrem mit BitLocker To Go verschlüsseltem USB-Stick zugreifen wollen/müssen. Leider funktioniert der Aufruf von control /name Microsoft.BitLockerDriveEncryption nicht. Liegt es daran, dass das Explorer-Programm fehlt? Für die PowerShell-CmdLets aus dem BitLocker-Modul werden leider administrativen Rechte benötigt. Welche Möglichkeiten habe ich noch, damit der Benutzer den USB-Stick entschlüsseln kann. Danke im Voraus.
-
Ordnerumleitung funktioniert nicht!
ineedhelp antwortete auf ein Thema von ineedhelp in: Windows Server Forum
Ich wollte nur sicher gehen, dass ich nichts übersehen haben.