Jump to content

try2b1st

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Letzte Besucher des Profils

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

Fortschritt von try2b1st

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. Ja, ich verstehe jetzt, was ihr meint. Die Variable zu übertragen auf den anderen PC, wäre völliger Blödsinn. Deswegen lege ich das mit Invoke mal zu den Akten und nutze die Option 2. Die funzt ja auch. LG G.
  2. Hi Nils, der Wert liegt sehr wohl auf dem entfernten Rechner vor, denn wie könnte ich denn sonst das Kommando mit der aufgelösten SID statt der Variablen $UserSid ausführen, denn das klappt ja? Es scheitert nur an der Maskierung der Variable, die die SID im Bauch hat. Ich habe mein Problem aber nun selbst gelöst, indem ich mich vom Invoke-Command verabschiede und .Net nutze. Damit zeige ich mir die installierten Drucker des/der am entfernten PC angemeldeten Nutzer/s an: $Computer = "PC123" $UserSid = Get-WmiObject -Class win32_computersystem -ComputerName $Computer | Select-Object -ExpandProperty Username | ForEach-Object { ([System.Security.Principal.NTAccount]$_).Translate([System.Security.Principal.SecurityIdentifier]).Value } $UserSid $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', $Computer ) $RegSubs = $Reg.OpenSubKey("$UserSid\Software\Microsoft\Windows NT\CurrentVersion\Devices") $RegSubValues = $RegSubs.GetValueNames() $RegSubValues Was man dann später mit den Druckern macht per Foreach oder Array, steht hier erst mal nicht zur Debatte. ;) VG G.
  3. Ich hole mir mit folgendem Code die SID des/der Nutzer, die remote am PC123 angemeldet sind. $Computer = "PC123" $UserSid = Get-WmiObject -Class win32_computersystem -ComputerName $Computer | Select-Object -ExpandProperty Username | ForEach-Object { ([System.Security.Principal.NTAccount]$_).Translate([System.Security.Principal.SecurityIdentifier]).Value } $UserSid Funktioniert alles sauber, und ich erhalte eine SID in der Form "S-1-5-21-690765346...". Nun möchte ich zu dieser SID alle installierten Drucker anzeigen lassen, die in der entfernten Registry stehen unter HKEY_USERS\$UserSid\Software\Microsoft\Windows NT\CurrentVersion\Devices. Dazu nutze ich das Invoke-Command. Invoke-Command -ComputerName $Computer -ScriptBlock { gci "registry::HKEY_USERS\$UserSid\Software\Microsoft\Windows NT\CurrentVersion\Devices" } Klappt aber nicht wegen: Der Pfad "HKEY_USERS\\Software\Microsoft\Windows NT\CurrentVersion\Devices" kann nicht gefunden werden, da er nicht vorhanden ist. + CategoryInfo : ObjectNotFound: (HKEY_USERS\\Sof...Version\Devices:String) [Get-ChildItem], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand + PSComputerName : PC123 Gebe ich $UserSid ein am Prompt, wird mir die korrekte S-1-5-21-690765346... angezeigt. Wie muss ich die Variable maskieren, um Erfolg zu haben? Mit den Zeichen " ", ' ', { } hat es leider nicht funktioniert. Gebe ich in dem Befehl oben die SID in Klars***rift ein, erhalte ich zwar keine Ausgabe, aber auch nicht diesen Fehler. Vielen Dank. G.
×
×
  • Neu erstellen...