Jump to content

WPS

Members
  • Gesamte Inhalte

    31
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von WPS

Enthusiast

Enthusiast (6/14)

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

Neueste Abzeichen

10

Reputation in der Community

1

Beste Lösungen

  1. Danke für eure Tipps! Ich hab es jetzt mit whoami /groups gelöst.
  2. Wir haben mehrere Druckserver die durch neue Druckserver abgelöst werden sollen und das Entfernen der alten Netzwerkdrucker und hinzufügen der neuen Netzwerkdrucker soll automatisch passieren. Anhand der Gruppenmitgliedschaften möchte ich etwas steuern ob nur dokumentiert umgestellt oder gar nichts gemacht wird. Kann mir auch vorstellen, dass das Thema prüfen von Gruppenmitgliedschaften auch mal in zukünftigen Skripts hilfreich sein kann.
  3. Hallo Norbert, danke für den Tipp, so würde es zumindest funktionieren. if (whoami /groups | Select-String -Pattern "Gruppe A") {Skriptblock A} Ob das ein guter Ansatz ist steht noch auf einen anderen Blatt. Das ist ja oft so, dass etwas zwar funktioniert, aber es trotzdem viel bessere Lösungen gibt. Hallo Jan, whoami /groups hältst du für eine schlechte Idee? Was müsst ihr über den Hintergrund wissen? Das Skript soll bei der Anmeldung für alle Benutzer laufen und dann für alle Mitglieder von Gruppe A Skriptblock A ausführen, und für alle Mitglieder von Gruppe B Skriptblock B ausführen.
  4. Guten Abend, ich hab da grade ein Problem wo ich bei meiner Recherche keine Lösung gefunden habe. Ich möchte ein Powershell-Skript bei der Anmeldung laufen lassen, wo dann im Skript aufgrund von Gruppenmitgliedschaften bestimmte Aktionen ausgeführt werden. Da das Skript auf dem den Clients ausgeführt wird, kann ich leider nicht auf das Active Directory Modul zurückgreifen um die Gruppenmitgliedschaften zu prüfen. Hatte da an wmi gedacht, aber da leider keine performante Lösung gefunden. Hat jemand von euch einen Ansatz wie man das am besten lösen kann?
  5. Ok, werde ich mir mal angucken. Muss nicht unbedingt MOC sein, praxisorientiert hört sich auch gut an. @Nils Bei einen Powershellkurs warst Du nicht zufällig?
  6. Moin moin zusammen, ich weiß nicht genau ob ich in diesem Unterforum hier richtig bin, falls nicht bitte verschieben. Mein Arbeitgeber hat sich jetzt entschieden mir mal eine Powershell-Schulung zu gönnen. Ich hab jetzt mal geguckt, was es so am Markt angeboten wird und bin irgendwie noch nicht so richtig fündig geworden. Gesucht wird ein Kurs für Fortgeschrittene. Wenn man mal die Kurse die sich auf bestimmte Produckte wie Exchange, SQL usw. beziehen und Inhouse-Schulungen weglässt, bleibt da gar nicht mehr so viel übrig. Hab jetzt den MOC 10962 ins Auge gefasst. Hat jemand von Euch vielleicht in letzter Zeit diese oder ein ähnliche Schulung im Raum Hamburg mit gemacht und kann mir da vielleicht einen bestimmten Kurs oder Schulungsanbieter empfehlen? Schon mal vielen Dank im Vorraus!
  7. Geht vermutlich mit Powershell am einfachsten Stop-Computer Ohne den Parameter -force wird kein Rechner runtergefahren wo jemand angemeldet ist.
  8. Hallo Tesso, danke für den Tipp! Hab es jetzt mit New-PSSession gelöst. Invoke-Command -Session $s -Script { Get-Printerport -Name $args[0]} -Args $IN}
  9. Hallo zusammen, ich sitze grade vor folgendem Problem. Ich habe mir ein Skript geschrieben, welches ich in der Konsole ausführe. Dort wird eine Variable über Read-Host gesetzt und soll später in einen Befehl auf einen mehreren Servern über Invoke-Comand verwendet werden. Nun steh ich vor dem Problem diese Variable auch auf dem Remote-Client verfügbar zumachen. Meine Ansatz war jetzt im Skript als erstes die Variable zu setzen um danach einen Skriptblock der die Variable beinhaltet zu definieren und diesen später auf mehreren Servern mit Invoke-Comand auszuführen. Wird dann im Skriptblock nicht der Wert der Variable gesetzt. $IN = Read-Host "Inventarnummer" $Code = { Get-Printerport | ? {$_.Name -like "$IN"} } foreach ($X in $Server){ Invoke-Command -ScriptBlock $Code -ComputerName $X} Hat jemand vielleicht eine Idee wie man das realisieren kann? Oder vielleicht einen anderen Ansatz? Wichtig ist nur, dass der Wert für die Variable immer erst bei Ausführung des Skriptes gesetzt werden kann.
  10. Get-PrinterProperty -PrinterName "H14 Raum 801 MF" ComputerName PrinterName PropertyName Type Value ------------ ----------- ------------ ---- ----- H14 Raum 801 MF Config:CassetteFour String FALSE H14 Raum 801 MF Config:CassetteThree String FALSE H14 Raum 801 MF Config:CassetteTwo String FALSE H14 Raum 801 MF Config:CharSetPD String USASCII H14 Raum 801 MF Config:DeviceCollate String NotInstalled H14 Raum 801 MF Config:Memory String 64MB H14 Raum 801 MF Config:PageProtect String OFF Der ersten Schritt hat sich grade geklärt. Ich hatte bei True nur den ersten Buchstaben groß geschrieben und dann folgende Fehlermeldung erhalten. Set-PrinterProperty -PrinterName "H14 Raum 801 MF" -PropertyName "Config:CassetteTwo" -Value True Set-PrinterProperty : Die angegebene Eigenschaft wurde nicht gefunden. In Zeile:1 Zeichen:1 + Set-PrinterProperty -PrinterName "H14 Raum 801 MF" -PropertyName "Config:Cassett ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (MSFT_PrinterProperty:ROOT/StandardCimv2/MSFT_PrinterProperty) [set-PrinterProperty], CimException + FullyQualifiedErrorId : HRESULT 0x80070002,Set-PrinterProperty Anhand der Fehlermeldung bin ich davon ausgegangen, dass PS sich an "Config:CassetteTwo" stört. Als ich dann im nächsten Versuch die letzten vier Buchstaben auch groß geschrieben habe funktioierte es ohne meckern. So jetzt hab ich zwar die Kassette installiert, fehlt nur leider nur das aus Nicht verfügbar -> A4 und die Papierart Normalpapier als Standardwert gesetzt wird. Hallo BOfH_666, wir haben neben HP drucker von Kyocera im Einsatz. Um die geht es auch aktuell Treiber wäre Kyocera Classic Universaldriver PCL6 (A4). Das mit den Papierfächer klappt da leider nicht, bin mir aber nicht sicher ob das mit der Installation per add-printer zusammenhängt. Was mich auch wundert ist, dass man bei Get-Printer und Get-Printconfiguration so wenig Infos bekommt. Gibt es da vielleicht ähnlich wie bei Get-ADUser -properties * um alle Eigenschaften zu sehen? Get-Printer -Name "H14 Raum 401 MF" | ft -AutoSize Name ComputerName Type DriverName PortName Shared Published ---- ------------ ---- ---------- -------- ------ --------- H14 Raum 401 MF Local Kyocera Classic Universaldriver PCL6 (A4) REYDR09622.mydomain.de True True Get-PrintConfiguration -PrinterName "H14 Raum 801 MF" PrinterName ComputerName Collate Color DuplexingMode ----------- ------------ ------- ----- ------------- H14 Raum 801 MF True False OneSided
  11. Hallo zusammen, ich habe einen neuen Druckserver aufgesetzt und die Drucker mit add-Printer angelegt. Jetzt würde ich nach Möglichkeit die benötigten Einstellungen auch gerne per Skript anpassen, da es eine dreistellige Anzahl von Drucker ist. Im ersten Schritt geht es darum jeweils die zweite Kassette zu installieren und ihr das Format A4 zuzuweisen, auch die Papierart Normalpapier als Standardwert wäre wünschenswert. Die zweite Kassette wollte ich eigentlich mit Set-PrinterProperty aktvieren. Wenn ich mit Get-PrinterProperty -PrinterName "H14 Raum 801 MF" den Drucker abfrage, kann ich sehen, dass die Kassette nicht installiert ist. Ich habe dann folgendes probiert: Set-PrinterProperty -PrinterName "H14 Raum 801 MF" -PropertyName "Config:CassetteTwo" -Value True Und dann kommt die Fehlermeldung: Die angegebene Eigenschaft wurde nicht gefunden. Hat jemand von Euch vielleicht ne Idee was ich falsch mache?
  12. Hallo zusammen, ich steh grade mal wieder etwas auf dem Schlauch und habe folgendes Problem. Ich habe ein Array wo die Pfade zu verschiedenen Ordner hinterlegt sind, ich möchte nun den Inhalt der Ordner in einer weiteren Variable speichern und da komme ich jetzt irgendwie nicht weiter. Nur die reine Ausgabe ist kein Problem aber ich möchte pro Ordner eine Variable in die der Inhalt gespeichert ist, oder halt ein wieder ein Array. $Ordner | ForEach-Object {Get-ChildItem $_} for ($i= 0; $i -le 3; $i++) {Get-ChildItem $ordner[$i]} Es muss doch irgendwie möglich sein eine Variable im Anweisungsblock zu erstellen die $_ oder $i im Namen enthält oder? Alternativ hatte ich dann noch folgendes probiert: for ($i= 0; $i -le 3; $i++) {$Temp = (Get-ChildItem $ordner[$i]); $Inhalt += $Temp} Aber dann bekomme ich bei vier Ordnern mit jeweils zwei Dateien ein Array mit 8 Feldern, und ich möchte ja pro Ordnerinhalt ein Feld haben.
  13. Ich hab mal die Version 3.0 installiert. Wenn ich dann aber die entsprechenden cmdlets aufrufe, werden die nicht erkannt. Muss ich da nicht zwangsweise so vorgehen: http://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx um das Modul nutzen zu können? Das sieht schon mal nicht schlecht aus, der bringt mir zwar folgende Fehlermeldung: Some or all identity references could not be translated aber speichert trozdem alle Gruppen in das Feld. Die Ausgabe von whoami /groups sieht auch nicht schlecht aus. Da müsste man jetzt nur noch die Gruppenamen einzel rausfiltern können.
  14. Hallo zusammen, ich möchte gerne in einigen Powershell-Skripten, Aktionen abhängig von den Gruppenzugehörigkeiten im AD ausführen lassen. Eigentlich würde ich das folgendermaßen angehen: $Gruppen = Get-ADPrincipalGroupMembership $env:USERNAME | ForEach-Object {$_.name} Doch dafür wird ja das ActiveDirectory-Modul benötigt, welches ja nicht auf allen Rechnern zur Verfügung steht. Gibt es hierfür eine Alternative, wie ich an die Gruppenmitgliedschaften rankomme, ohne dafür auf das ActiveDirectory-Modul zugreifen zu müssen? Besten Dank schon mal im Vorraus für Eure Tipps!
×
×
  • Neu erstellen...