
newbi2009
Members-
Gesamte Inhalte
31 -
Registriert seit
-
Letzter Besuch
Letzte Besucher des Profils
Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.
Fortschritt von newbi2009
-
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hi Evgenij, danke für den Tipp mit $ErrorActionPreference. Das ist okay für mich. Unsere Firmen-Policies sind relativ strikt, sodass es ein schier endloser Prozess ist, neue Software (auch Powershell-Module sind "neue Software") genehmigt zu bekommen, daher der Weg über die externen *.exe-Dateien Bleibt meine zweite Frage: Warum funktioniert der Bind nur bei jedem zweiten Lauf??? Gruß Holger -
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
ja - die Zeile funktiniert ja auch in der Powershell, wirft nur diese blöde Fehlermeldung -
newbi2009 folgt jetzt dem Inhalt: Powershell - auslesen des aktuellen Pfades , Fehlermeldung open LDAP - ldapsearch.exe , SQL verschachtelte Abfrage WMI für BGInfo und 3 Weitere
-
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
Hallo zusammen, wir betreiben einen/mehrere LDAP Server (kein Active Directory). Bisher habe ich für Powershell-basierende Abfragen immer die von Lotus Notes mitgeliferten ComandLine-Tools (hier ldapsearch.exe) benutzt, was ganz gut funktioniert hat. Leider wird uns wohl bald der Notes client und somit auch die da mit kommenden LDAP CL-Tools deinstalliert, sodass ich mich nach einer anderen Lösung umschauen musste... Hier bin ich auf "open LDAP for Windows" gestossen. Software ist nun installiert und ich kann auf die cl-Tools zugreifen. Jetzt zu meinem zwei Problem: Eins vorweg: Egal, ob ich den Bind mit "-x" oder ohne durchführe, ist das Ergebnis das Gleiche & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -H ldap://XXXXX.home.local:2390 -D $username -w $script:pw -b $script:DN -s base "objectClass=*" userCertificate > $safepath oder Bind mit „-x“ – kein Unterschied: & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -x -H ldap://XXXXX.home.local:2390 -D $username -w $script:pw -b $script:DN -s base "objectClass=*" userCertificate > $safepath ich bekomme IMMER folgende Fehlermeldung im Programmfenster (Powershell ISE) angezeigt (auch ein Umleiten mit 2>&1 bringt nicht mehr Fehlermeldungs-Text in der Ausgabe-Datei) ldapsearch.exe : ldap_bind: Success (0) In C:\Users\xxxxx\Documents\Powershell-Scripte\Benutzer von PROD in TEST\Benutzer_von_PROD_nach_TEST.ps1:498 Zeichen:18 + ... & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -H ldap://xxxx ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (ldap_bind: Success (0):String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError additional info: Bind succeeded. Ich verstehe nicht, was hier "angemeckert" wird. Es steht explizit in der Meldung, dass der Bind funktioniert hat, und auch die Ausgabe funktioniert korrekt Dies ist der Text der Ausgabedatei) --------------------------------------- # extended LDIF # # LDAPv3 # base < cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One > with scope baseObject # filter: objectClass=* # requesting: userCertificate # # DoeJohn, Extern, Three, Two, One dn: cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One userCertificate;binary:: MIIHaDCCBVCgAwIBAgIDSHYqMA0GCSqGSIb3DQEBCwUAMFwxCzAJB gNVBAYTAkRFMRkwFwYDVQQKExBQS0ktMS1WZXJ3YWx0dW5nMRMwEQYDVQQLEwpCdW5kZXN3ZWhyMR 0wGwYDVQQDExRCdyBWLVBLSSBDQSAyMDIyIC0gMjAeFw0yMzAyMTUxMDEwMDlaFw0yODAyMTUxMDE wMDlaMFgxCzAJBgNVBAYTAkRFMQ0wCwYDVQQKEwRidW5kMQ0wCwYDVQQLEwRibXZnMRAwDgYDVQQL EwdwZXJzbWlsMRkwFwYDVQQDExBHZXV0aW5nIFRob3JzdGVuMIICIjANBgkqhkiG9w0BAQEFAAOCA qvkJ++i7MSkz6FguCrewZ+d3QiogHFh5QI77zQklognb+6GhGyH9Iv0amzRLCVWyWgxPMw0OUs92K 7H4thYcNpl/l8QB5rf0v/R23vSEOgMqypkORkNGRZ2hf36kWuJPil60657xAbfoArGXdiF+Hs+tv8 zPkdwrTtg9flgDVVeceRfGDzuaUf0NYU2ee7xBVO2oJyd1mgBDdZfMihRTrYM70+ewmqDYp4wiuCb wsh++XX9hts9BI+ldO2Lm4FMmoOjQjg5/SrdWh6gLEeLeZDmxSXtl8WafGlLpLDRNK3zYiaR+soW4 EEWI6kz0ZhqRAs0AQlQcD5qqCTmWvylvtjPyRnW1NA4fpc7RIi02Zcj2v7pdsd+lnwZ8sr9UblQFi WqKSFk/hvvgdzCVwA== # search result search: 2 result: 0 Success text: Search succeeded. Found 1 Entries (0 Aliases), 1 Attributes, 1 Values. (C hainedResult=no) # numResponses: 2 # numEntries: 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Was ich aber noch viel merkwürdiger finde, ist der Fakt, dass ich bei JEDEM 2. VERSUCH, das Skript laufen zu lassen, den Fehler bekomme, dass das Bind NICHT funktioniert hat: ldapsearch.exe : ldap_bind: Success (0) In C:\Users\xxxxx\Documents\Powershell-Scripte\Benutzer von PROD in TEST\Benutzer_von_PROD_nach_TEST.ps1:498 Zeichen:18 + ... & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -x -H ldap://x ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (ldap_bind: Success (0):String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError additional info: Bind succeeded. ldap_result: Can't contact LDAP server (-1) Dann ist die Ausgabedatei auch "quasi" leer: # extended LDIF # # LDAPv3 # base < cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One > with scope baseObject # filter: objectClass=* # requesting: userCertificate # # numResponses: 0 Kann mich hier irgend jemand erleuchten, wo/was genau mein Fehler ist? Vielen Dank Gruß Holger -
SQL verschachtelte Abfrage WMI für BGInfo
newbi2009 antwortete auf ein Thema von newbi2009 in: MS SQL Server Forum
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 -
SQL verschachtelte Abfrage WMI für BGInfo
newbi2009 hat einem Thema erstellt in: MS SQL Server Forum
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 -
Powershell - Ändern eines Dienste-Kontos
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
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 -
Powershell - Ändern eines Dienste-Kontos
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
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! -
Powershell - Ändern eines Dienste-Kontos
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
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 -
PowerShell-Zugriff auf KeePass - Mitgeben des MasterPassword
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
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..... -
PowerShell-Zugriff auf KeePass - Mitgeben des MasterPassword
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
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 -
Inhalt aus Excel in Combo-Box
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
hat sich erledigt! Ich habe hier versucht ein array und nicht einen einzelnen Wert zuzuweisen...... -
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
-
Powershell - auslesen des aktuellen Pfades
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
THIS did the trick Vielen Dank!! -
Powershell - auslesen des aktuellen Pfades
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
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 -
Powershell - auslesen des aktuellen Pfades
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
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