Jump to content

newbi2009

Members
  • Gesamte Inhalte

    28
  • Registriert seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Fortschritt von newbi2009

Contributor

Contributor (5/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

1

Reputation in der Community

1

Beste Lösungen

  1. Hallo zusammen, danke für die Antworten. Nur falls es noch interessiert: Ich habe es jetzt gelöst, indem ich 2 verschiedene WMI Abfragen "gebaut" habe - und die beiden Ausgaben hintereinander anzeigen lasse: 1. Abfrage nach "welcher Adapter verbunden ist (LAN oder WLAN) SELECT NetConnectionID FROM Win32_NetworkAdapter WHERE NetConnectionID = 'WLAN' or NetConnectionID = 'ETHERNET' and NetEnabled = 'TRUE' => @zahni: Das funktioniert doch.... 2. Abfrage nach der IPAdresse: SELECT IPAddress FROM Win32_NetworkAdapterConfiguration where DNSDomain = 'homedomain' Gruß Holger
  2. Hallo Gemeinde, ich habe ein Problem mit einer SQL-Abfrage aus WMI (für die Anzeige in BGInfo) und hoffe, Ihr könnt mich „erhellen“ 😊 zu der kompletten Frage habe ich (mit Beispielen) das angehängte PDF erstellt vielen Dank für Eure Hilfe Gruß Holger SQL-Abfrage.pdf
  3. Hallo Jan, das klingt sehr interessant. Ich denke, da muss ich mal tiefer drüber nachdenken! Danke für den Hinweis. Das kannte ich bisher nicht!! Gruß Holger
  4. Vielen Dank, Evgenij!! Und @ Norbert: Ich bitte um eine harte und gerechte Strafe. Aber NEIN, ich habe keine Lösung gefunden (Startpage.com) Du scheinst da eine inteligentere Such-Anfrage gestartet zu haben, als ich in den letzten Stunden!
  5. Hallo zusammen, ich suche jetzt schon seit einiger Zeit, finde aber nicht wirklich etwas hierzu. Wir haben einen bestimmten Dienst auf etlichen Servern mit einem bestimmten Domänen-Konto laufen. Da wir (Policy-bedingt) Passwörter für Service-Accounts alle 180 Tage ändern müssen, bin ich gerade dabei hierfür ein Programm zu schreiben. Leider finde ich keine Möglichkeit per PS die Passwörter für die ausführenden (Domänen)-Konten für bestimmte Dienste zu ändern. mit Get-Service kommt man da anscheinend nicht wirklich weiter... Hat da irgendjemand eine Idee/Ansatz? vielen Dank für Eure Schwarmintelligenz Gruß und ein schönes WE Holger
  6. nein, das funktioniert leider auch nicht..... Ich hatte eigentlich gedacht, das wäre ein Microsoft Modul... https://learn.microsoft.com/de-de/powershell/utility-modules/secretmanagement/overview?view=ps-modules Aber wenn man dem KeePass-Link auf dieser URL folgt, kommt man tatsächlich zu dem Projekt, dass Du da aufgezeigt hast.... b***d! Ich habe echt nicht gesehen, dass der letzte EIntrag 3 Jahre alt ist.....
  7. Hallo Forum, ich "spiele" gerade mit den PowerShell Modulen für SecretVault bzw KeePass-Zugriff herum: Microsoft.Powershell.SecretManagement, Microsoft.Powershell.SecretStore, SecretManagement.KeePass Dabei stoße ich auf das Problem, dass ich das MasterPassword für die KeePass irgendwie nicht wirklich übergeben bekomme. Egal, ob ich das PW in Klars***rift oder als SecureString übergebe...: Version1 $KeePassParameter = @{ Path = "D:\KeePass\Meine_KPDB.kdbx"; ShowFullTitle = $true; UseMasterPassword = $true; MasterPassword = "01000000d08c9ddf0115d1118c7a00c04fc297e...." } Register-SecretVault -Name KeePassVault -ModuleName SecretManagement.KeePass -VaultParameters $KeePassParameter oder Version2 $KeePassParameter = @{ Path = "D:\KeePass\Meine_KPDB.kdbx"; ShowFullTitle = $true; UseMasterPassword = $true; MasterPassword = "Test-PW" } Register-SecretVault -Name KeePassVault -ModuleName SecretManagement.KeePass -VaultParameters $KeePassParameter ...ich bekomme bei der Abfrage der SecureVault immer Get-SecretInfo -Vault KeePassVault immer eine grafische Abfrage des MasterPasswords. (siehe Screenshot) Hat jemand eine Idee, wie ich das MasterPassword korrekt übergebe, sodass ich auf die SecureVault ohne zusätzliche PW-Abfrage zugreifen kann? Vielen Dank für Eure Hilfe Gruß Holger
  8. hat sich erledigt! Ich habe hier versucht ein array und nicht einen einzelnen Wert zuzuweisen......
  9. Hallo Forum, ich versuche den Inhalt einer Spalte eines Excel-Worksheets in einer Combo-Box auszugeben. Grundsätzlich funktioniert das auch. Zumindest sind in, "$objCombobox.items" die gewünschtenNamen gespeichert. Allerdings bekomme ich in der Combo-Box selber nur 4 x "system Object[]" angezeigt. Wo liegt mein Fehler? Hier mein Code: [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") $Namen = @() $Zeile=1 $Page = "User" $objForm = New-Object System.Windows.Forms.Form $objForm.Text = "Combobox" $objForm.Size = New-Object System.Drawing.Size(300,200) $objForm.StartPosition = "CenterScreen" $objForm.KeyPreview = $True $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(75,120) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click( { foreach ($objItem in $objCombobox.SelectedItem) {$global:x = $objItem $global:x} $objForm.Close() }) $objForm.Controls.Add($OKButton) $CancelButton = New-Object System.Windows.Forms.Button $CancelButton.Location = New-Object System.Drawing.Size(150,120) $CancelButton.Size = New-Object System.Drawing.Size(75,23) $CancelButton.Text = "Cancel" $CancelButton.Add_Click({$objForm.Close()}) $objForm.Controls.Add($CancelButton) $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(280,20) $objLabel.Text = "Treffen Sie bitte eine Auswahl:" $objForm.Controls.Add($objLabel) $objCombobox = New-Object System.Windows.Forms.Combobox $objCombobox.Location = New-Object System.Drawing.Size(10,40) $objCombobox.Size = New-Object System.Drawing.Size(260,20) $objCombobox.Height = 70 $objexcel=New-Object -ComObject Excel.Application $workbook=$objexcel.WorkBooks.Open('C:\temp\Users.xlsx') $worksheet=$workbook.WorkSheets.item($Page) $objexcel.Visible= $false do { $Namen = @($worksheet.Cells.Item($Zeile,1).Text) write-host Name = $Namen [void] $objCombobox.Items.Add($Namen) $Zeile++ } while($worksheet.Cells.Item($Zeile,1).Text.Length -gt 0) $objexcel.quit() $objForm.Controls.Add($objCombobox) $objForm.Topmost = $True $objForm.Add_Shown({$objForm.Activate()}) [void] $objForm.ShowDialog() Die Excel-Tabelle sieht so aus: und die Combo-Box selber sieht so aus: vielen Dank für Eure Hilfe Holger
  10. Hallo Nobby, danke für die Antwort. Naja, die Firmen-Policies lassen es einfach nicht zu, exe-Dateien selber zu kompilieren Der UNC-Pfad sollte tatsächlich bei allen Benutzern gleich sein. Dann müsste ich den "Installationspfad" aber manuell in das Skript schreiben ala: \\Server\Freigabe\Skripte Das würde mit Sicherheit auch funktionieren. Ich würde das Ganze aber gerne eleganter lösen. Z.B. für den Fall, dass das Verzeichnis "Skripte" einmal an einen anderen Ort verschoben werden sollte Mein Skript sieht in etwa so aus: function Uhr() { $Date = Get-Date $Time= $Date.toString()("yyyy-MM-dd_HH.mm.ss") $Datum= $Time.toString("yyyy-MM-dd") } $InstallPath = $PWD.ToString() Uhr $LogDateiName = "$InstallPath\Logs\$Satum\MeinSkriptname_" + $Time +".log" . . . write-output "Diese Zeile soll in die Log-Datei eingetragen werden" | Tee-Object -FilePath $LogDateiName -append Danke und Gruß Holger Hallo BOfH_666, auch Dir "danke" für Deine Antwort. Ich möchte es eigentlich vermeidenzu allen Kollegen zu latschen und einen Link auf die ps.1-Datei zu erstellen. Ausserdem bin ich mir nicht ganz sicher, ob der Link das Problem lösen würde. Es würde dann doch der Pfad des lokalen Rechners ausgelesen - also würden die Log-Dateien wieder nicht alle im gleichen Verzeichnis (Netzlaufwerk) landen..... Dass die Datei mit der PowerShell.exe ausgeführt werden sollte ist mir schon klar. Aber es wird (glaube ich) halt standardmäßig die 64bit Version ausgeführt, die gegen die Pumpe läuft, wenn man versucht damit eine LotusNotes-Anwendung auszulesen.... Und alles andere als rechter Mausklick / Ausführen mit kann ich meinen Kollegen nicht zumuten
  11. Hallo Forum, ich habe ein kleines Problem und hoffe, es gibt eine einfache Lösung hierzu: Ich habe ein Powershell-Skript geschrieben, welches ich auf einem Netzlaufwerk (nennen wir es Z:\Skripte\meinSkript.ps1) abgelegt habe. Dieses Skript schreibt Log-Dateien, die im gleichen Verzeichnis erzeugt werden sollen (Z:\Skripte\Logs) Ausserdem soll dieses Skript von allen meinen Kollegen benutzt werden können, die sich das Netzlaufwerk aber nicht alle mit "Z:\" gemappt haben. Um die Log-Datein also an dem gewünschten Ort abzulegen, muss ich den Netzwerkpfad der ps1-Datei auslesen. Jetzt gibt es ein paar Probleme: - Windows öffnet ps.1-Dateien standardmäßig mit einem Text-Editor (Doppelklick auf die Datei führt diese nicht aus) - Ich kann/darf aus der ps.1 keine exe kompilieren, die per Doppelklick ausgeführt werden könnte - mein Script MUSS in einer 32 Bit Variante von PowerShell ausgeführt werden (weil ich Lotus Notes abfrage) - Das heisst, "rechter Mausklick/öffnen mit Powershell" lässt das Skript abbrechen, weil Powershell standardmäßig in einer 64 bit Version startet Ich muss das Skript also in einer "Powershell ISE" öffnen (vor Allem meine nicht PowerShell-affinen Kollegen). Hier steht der Fokus natürlich auf C:\Windows\System32 Lese ich jetzt den Pfad mit "get-location" oder "PWD" aus, bekomme ich natürlich "C:\Windows\System32" geliefert. Dies kann ich dann natürlich nicht verwenden, um den Pfad für eine Log-Datei in dem Netzlaufwerk zu generieren. Ich kann den Kollegen auch nicht sagen, dass sie sich das Programmverzeichnis alle auf den eigenen Rechner kopieren sollen und die erzeugten Logs dann manuell auf dem Netzlaufwerk ablegen sollen. Wie bekomme ich also in der "Power Shell ISE" den Pfad in eine Variable, in der die ps1-Datei liegt? Vielen Dank für einen Tipp Gruß Holger
  12. Hallo Forum, ich kämpfe gerade mit einem Problem, das ich nicht verstehe. Vielleicht kann mich ja jemand von Euch erleuchten? Ich versuche Punkte aus einer Variable (in der eine Faxnummer gespeichert ist) zu ersetzen ich habe in einer globalen Variable eine Faxnummer mit Leerzeichen und 3 Punkten dahinter gespeichert: $global:Fax = "2261 4405 ..." jetzt versuche ich das Leerzeichen und die darauf folgenden 3 Punkte zu entfernen: if ($global:Fax -like ("* ...")) { $global:Fax_neu = $global:Fax -replace (" ...","") } Der Inhalt von $global:Fax_neu ist jetzt erstaunlicherweise: 22615 Warum? Und wie bekomme ich es hin, dass $global:Fax_neu = 2261 4405 ist? vielen Dank für Eure Hilfe Gruß Holger
  13. ....was mich dann wieder zu meiner ursprünglichen Frage führt: MUSS ich den Umweg gehen, den Inhalt der Variable zuerst in eine Datei zu speichern, nur um diese danach wieder einzulesen? Das muss doch auch ohne gehen.... Aber wie?
×
×
  • Neu erstellen...