Jump to content

Scharping-FVB

Members
  • Gesamte Inhalte

    96
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Scharping-FVB

  1. Liebes Forum, mit kleinen Tricks (z.B. setup.exe für Server ausführen) lässt sich Win11 auch auf älteren Systemen ohne TPM 2.0 und kompatibler Intel CPU installieren. Das verhindert einiges an Elektroschrott. Allerdings hat ein Kollege unlängst verlauten lassen, dass es wegen der nicht vorhandenen CPU-Befehlssätze zu Bluescreens kommen könnte und von solchen Upgrade abgeraten. Nun meine Frage. Wie handhabt ihr das im Unternehmen mit Win10 Enterprise, läuft ein solches Upgrade-Win11 bei euch reibungslos auf alter Hardware oder ist da etwas dran und ich sollte das höchstens privat durchführen, aber nicht auf Arbeit? Viele Grüße Davorin
  2. Danke für den Tipp, das ist Freeware, probiere ich gleich mal aus.
  3. 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.
  4. Nein, es wird "aktualisiert", aber es ändert sich nicht :-(
  5. 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
  6. Ich finde dieses Forum klasse, so viel Hilfe und Tipps Danke!!!
  7. 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.
  8. 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
  9. 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!
  10. 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.
  11. Funktioniert genauso nicht :-(
  12. 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?
  13. 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
  14. Vielen Dank, genau das habe ich gesucht und es funktioniert wunderbar
  15. 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.
  16. 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.
  17. 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
  18. 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.
  19. 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
  20. Da haben wir uns überschnitten. Ja, in diesem Fall, aber allgemein eben nicht.
  21. 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
  22. 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!
  23. Doch, das geht Jetzt auch mit dem richtigen Ausgabewert.
  24. Brett vorm Kopp... $user = ersetze -user $user Es kann so einfach sein... Vielen Dank und bitte entschuldige das Code-Desaster...
  25. 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.
×
×
  • Neu erstellen...