Jump to content

Scharping-FVB

Members
  • Gesamte Inhalte

    118
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Scharping-FVB

  1. Das gibt es doch nicht! Tatsächlich, die Icons sind außerhalb meiner beiden 27" Monitore. Danke für den Tipp! Selbst wenn ich die neuen Icons auf eine bestimmte Stelle ziehe, werden die nach außerhalb gelegt. Und automatisch anordnen ist nicht an und meine bestehenden Icons sind sortiert an den Rändern angeordnet. Nun muss ich nur noch die fehlenden Icons wieder zu Gesicht bekommen.
  2. Nein, es wird "aktualisiert", aber es ändert sich nicht :-(
  3. Liebes Forum, ich habe das seltsame Problem, dass auf meinem Desktop nicht alles angezeigt wird, was "da" ist. Wenn ich im Windows-Explorer "Desktop" öffne, ist alles da. Dies betrifft Dateien und Verknüpfungen, die neu angelegt werden, Ordner nicht. Wenn ich z.B. eine Datei per D&D "rüberziehe", wird sie auf dem Desktop nicht angezeigt, im Windows-Explorer schon. Ist das Phänomen bekannt und gibt es eine Lösung dafür? Die Daten liegen auch nicht unter "Selten benutzt". Viele Grüße Davorin
  4. Ich finde dieses Forum klasse, so viel Hilfe und Tipps Danke!!!
  5. Das per GPO wusste ich noch nicht, vielen Dank für den Hinweis Ja klar, da stehen die Variablen ja. Hätte ich auch drauf kommen können. Aber ich wollte das eben schnell prüfbar machen, bei SET muss man sich ja durchscrollen, das kann "sensible" Vertretungen schon mal nerven.
  6. Das ist in dem Image schon drin Es soll dennoch, laut Prozess, kontrolliert werden. Da dafür aber einige einige (nicht intuitive) Klicks notwendig sind, habe ich für den Vertretungsfall eben dieses Skript geschrieben. Dann muss die Vertretung bei den Nacharbeiten zum Image nur ein Skript mehr ausführen und sich nicht durch Menüs durch klicken
  7. Ich möchte das narrensicher machen, damit auch (m)eine Vertretung, die nicht Vollzeit-Windows-Admin ist, eine zuverlässige Methode hat, die Systemvaribale zu setzen. Anfangs dachte ich, dass ich falsch programmiert hätte, lag aber eben daran, dass die Änderungen an den Systemvariablen nicht in die Session synchronisiert werden. Daher ist das Problem ja gelöst, weil es kein wirkliches war Vielen Dank an alle, die sich Gedanken und/oder Vorschläge gemacht haben!
  8. Ich möchte sicher gehen, dass die Systemvaribale auch fest gesetzt wurde und nicht nach der Session wieder weg ist. Aber weiter oben wurde ja schon erwähnt, dass das Setzen einer Systemvariablen auch fest ist und nicht nur in der Sitzung.
  9. Funktioniert genauso nicht :-(
  10. Au weia, was ein Anfängerfehler... So geht es aber auch nicht: $check = $false while ($check -eq $false) { da die Systemvariable nicht in der PS-Sitzung zur Verfügung steht, eine Abfrage liefert nur den Zustand zum Zeitpunkt des Startens der Sitzung, nicht den geänderten Zustand mit der angelegten Variablen. Mir fehlt also immer noch die Aktualisierung der Systemvariablen in die aktuelle Sitzung. Weiß da jemand mehr?
  11. Liebes Forum, ich möchte eine Systemvariable prüfen und wenn sie nicht vorhanden ist, setzen: $check = $false while ($check = $false) { if ([Environment]::GetEnvironmentVariable('tnsadmin')) { "TNSADMIN Systemvariable vorhanden." $check = $true } else { Write-Host "TNSADMIN Systemvariable NICHT vorhanden." -ForegroundColor Red Write-Host "Lege TNSADMIN an." -ForegroundColor Green [Environment]::SetEnvironmentVariable('TNSADMIN', 'C:\instantclient_12_1\client-1\network\admin\', 'Machine') } } Das it-else funktioniert auch wunderbar und legt die fehlende Variable an, aber der while-Check kann die Variable nicht finden, da diese außerhalb der Session erstellt wurde und so in der aktuellen Session noch nicht vorhanden ist. Wie kann ich diese neu erstellte Systemvariable dennoch abprüfen? Viele Grüße Davorin
  12. Vielen Dank, genau das habe ich gesucht und es funktioniert wunderbar
  13. Liebes Forum, ich möchte weiter Automatisieren. Dazu soll ein bestimmten lokaler User restlos vom System entfernt werden. Also der User an sich, sein Profil und der zugehörige Ordner. Ich habe für PowerShell bisher folgende Lösungen gefunden: User löschen: Remove-LocalUser -Name "install" User-Ordner löschen: Remove-Item -Path "c:\Users\install" -Force Leider klappt das Profil löschen noch nicht: $UserAccount = Get-CimInstance Win32_UserProfile -Filter 'LocalPath like "C:\Users\install"' Get-CimInstance Win32_Userprofile -Filter "SID = '$($UserAccount.SID)'" | Remove-CimInstance Leider klappt das nicht, der Aufruf der CimInstance liefert einen Fehler: Get-CimInstance : Invalid query At line:1 char:16 + ... erAccount = Get-CimInstance Win32_UserProfile -Filter 'LocalPath like ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-CimInstance], CimException + FullyQualifiedErrorId : HRESULT 0x80041017,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand Ich vermute, dass das an den Sonderzeichen im String liegt, habe dafür aber keine passende Lösung.
  14. Das Skript ist von 2018 Ehrlich, ich traue mich noch nicht an ein PowerShell Skript als Logon Skript. Und noch besser weiß ich einfach nicht. Welche Lösung würdest du vorschlagen? Es geht um diesen Anwendungsfall: Auf den Clients soll ein LAPS-User angelegt werden. Ich möchte das nicht über ein aufzurufendes Skript lösen oder das manuelle Anlegen. Daher mein automatischer Weg, das über ein Logon-Skript.
  15. Liebes Forum, ich möchte per Log einen lokalen User anlegen, sofern dieser noch nicht vorhanden ist. Irgendwie klappt es mit der Abfrage nicht: net user | find /i "user" || Goto AddUser Goto End :AddUser net user user Sf3eWfkws-123 /add /comment:"Local Account" net localgroup administratoren user /add :End Obwohl der User nicht vorhanden ist, wird dieser nicht angelegt. Hab ich beim "If-Else" einen Fehler drin? Viele Grüße Davorin Und schon selber die Lösung gefunden. Hartnäckigkeit zahlt sich aus net user | find /i "user" if %ERRORLEVEL% EQU 0 ( Goto :AddUser ) else ( echo "User schon vorhanden" ) Goto End :AddUser net user user Sf3efdf23212-w /add /comment:"Local Account" net localgroup administratoren user /add :End
  16. Der Inhalt der Variable soll aber in Anführungszeichen ausgegeben werden Ich meine, dass es da noch etwas technischeres gibt, fällt mir aber gerade nicht ein.
  17. Das funktioniert hier nicht, habe ich als erstes versucht. try { $Shortcut.Save() -erroraction stop } Erroraction wird nicht (an)erkannt: + $Shortcut.Save() -erroraction stop + ~~~~~~~~~~~~ Unexpected token '-erroraction' in expression or statement. Ich habe das jetzt so gelöst: $ErrorActionPreference = "SilentlyContinue" $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("\\fs2\drive-i\$user\$LinkName.lnk") $Shortcut.TargetPath = "\\fs1\scan2file\$user" $LinkName = $Shortcut.FullName $LinkLocation = $Shortcut.TargetPath $Shortcut.Save() if($?) { Write-Host "Link ""$LinkName"" wurde im Pfad ""$LinkLocation"" angelegt." -ForegroundColor green } else { Write-Host "Es gab einen Fehler beim Anlegen des Links ""$LinkName"". Bitte manuell nacharbeiten." -ForegroundColor Red } Mit if ($?) wird geprüft, ob $Shortcut.save() $true war und entsprechend reagiert. Vielen Dank für die Anregungen und Hilfen
  18. Da haben wir uns überschnitten. Ja, in diesem Fall, aber allgemein eben nicht.
  19. Liebes Forum, ich erstelle einen Shortcut: $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("\\fs1\drive-i\scharping\Scans.lnk") $Shortcut.TargetPath = "\\fs1\scan2file\$user" $Shortcut.Save() Sollte der letzte Befehl (das Speichern) scheitern, hätte ich das gerne behandelt, es soll also in einer Variablen gespeichert werden, ob der erfolgreich war, also $true oder $false. Ich könnte für dieses Beispiel einfach mit "TestPath" prüfen, ob der Link existiert, aber ich möchte das gerne allgemein halten, um diese Prüfung auf Ausführung auch für andere Befehle nutzen zu können. Wie ist das allgemein möglich? Viele Grüße Davorin
  20. Ja, du hast Recht, das klappt auch. Ist meine erste Funktion, die ich schreibe, ich lerne noch Vielen lieben Dank an euch alle, es ist großartig, wie schnell und kompetent hier geholfen wird!
  21. Doch, das geht Jetzt auch mit dem richtigen Ausgabewert.
  22. Brett vorm Kopp... $user = ersetze -user $user Es kann so einfach sein... Vielen Dank und bitte entschuldige das Code-Desaster...
  23. Nicht ganz. funtion Mutter { Param( [parameter(Mandatory = $true)] [string] $user funktion Kind ([string]$user) { $user = $user.Replace("ä", "ae").Replace("ö", "oe").Replace("ü", "ue").Replace("Ä", "Ae").Replace("Ö", "Oe").Replace("Ü", "Ue").Replace("ß","ss") Return $user } # Ersetze Umlaute Kind $user Write-Host "Neuer Username ohne Umlaute ist: $user" } Aufruf mit: Mutter "Müller" Da sollte dann die Ausgabe mit Mueller erfolgen. Es wird aber durch das Return $user nach dem Ersetzen an der Konsole ausgegeben, aber nicht in die MUtter-Variable übernommen. In der Mutter-Funktion bleibt $user unverändert.
  24. Liebes Forum, ich möchte innerhalb einer Funktion eine weitere Funktion nutzen. Diese bekommt eine Variable übergeben und soll diese verändern. Den geänderten Wert soll die Kind-Funktion an die Mutter-Funktion zurückgeben, damit damit weiter gearbeitet werden kann. Leider gilt die geänderte Variable nur innerhalb der Kind-Funktion, nicht außerhalb. Wie kann ich den Wert an die Mutter-Funktion zurückgeben? Die Lösung ist sicherlich simpel, doch ich habe da irgendwie ein Brett vor dem Kopf. Viele Grüße Davorin
  25. Stimmt, wir haben vor einiger Zeit alles auf 22H2 umgestellt. Das ging ja glücklicherweise In-Place über den WSUS, also mit geringem Aufwand. Und danach war Ruhe, weil 22H2 als letzte Version dann doch mehr als zwei Jahre Extended Support hatte.
×
×
  • Neu erstellen...