Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell Remote Deinstallation

Frage Entwicklung Batch & Shell

Mitglied: Bugger

Bugger (Level 1) - Jetzt verbinden

20.11.2014, aktualisiert 08:26 Uhr, 1142 Aufrufe, 2 Kommentare

Hallo,

mich würde interessieren ob es möglich ist, Remote Software zu deinstallieren.
Folgenden Code habe ich:

01.
Function Get-Software {  
02.
    [Cmdletbinding()]  
03.
    Param(  
04.
        [Parameter(Position=0,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True,ValueFromRemainingArguments=$False)]  
05.
        [ValidateNotNull()]  
06.
        [String[]]$Computername = @(''),  
07.
        [Switch]$IncludeEmptyDisplaynames  
08.
    )  
09.
   
10.
     Begin {  
11.
   
12.
         # sub function to convert the registry values to an Object  
13.
         Function Convert-RegistryUninstallSubKeyToObject {  
14.
            param (  
15.
                [String]$Computername,  
16.
                [microsoft.win32.registrykey]$SubKey  
17.
            )  
18.
  
19.
            # create New Object with empty Properties  
20.
            $obj = New-Object PSObject | Select-Object ComputerName,DisplayName,DisplayVersion,Publisher,InstallLocation,InstallDate,UninstallString 
21.
   
22.
            $obj.ComputerName = $Computername  
23.
            $obj.DisplayName = $SubKey.GetValue('DisplayName')  
24.
            $obj.DisplayVersion = $SubKey.GetValue('DisplayVersion')  
25.
            $obj.Publisher = $SubKey.GetValue('Publisher')  
26.
            $obj.InstallLocation = $SubKey.GetValue('InstallLocation')  
27.
            $obj.InstallDate = $SubKey.GetValue('InstallDate')  
28.
            $obj.UninstallString = $SubKey.GetValue('UninstallString')  
29.
              
30.
            # return Object  
31.
            $obj  
32.
        }  
33.
  
34.
    } # end Begin block         
35.
  
36.
    Process {      
37.
        foreach($pc in $Computername){  
38.
   
39.
            $UninstallPathes = @("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall","SOFTWARE\\Wow6432node\\Microsoft\\Windows\\CurrentVersion\\Uninstall")  
40.
              
41.
            ForEach($UninstallKey in $UninstallPathes) {  
42.
                #Create an instance of the Registry Object and open the HKLM base key  
43.
                Try {  
44.
                    $reg=[microsoft.win32.registrykey]::OpenRemoteBaseKey('LocalMachine',$pc)  
45.
                } Catch {  
46.
                    $_  
47.
                    Continue  
48.
                }  
49.
   
50.
                #Drill down into the Uninstall key using the OpenSubKey Method  
51.
                $regkey=$reg.OpenSubKey($UninstallKey)  
52.
  
53.
                If(-not $regkey) {  
54.
                    Write-Error "Subkey not found in registry: HKLM:\\$UninstallKey `non Machine: $pc"  
55.
                }  
56.
  
57.
                #Retrieve an array of string that contain all the subkey names  
58.
                $subkeys=$regkey.GetSubKeyNames()  
59.
      
60.
                #Open each Subkey and use GetValue Method to return the required values for each  
61.
                foreach($key in $subkeys){  
62.
   
63.
                    $thisKey=$UninstallKey+"\\"+$key  
64.
   
65.
                    $thisSubKey=$reg.OpenSubKey($thisKey)  
66.
   
67.
                    # prevent Objects with empty DisplayName  
68.
                    if (-not $thisSubKey.getValue("DisplayName") -and (-not $IncludeEmptyDisplaynames)) { continue }  
69.
   
70.
                    # convert registry values to an Object  
71.
                    Convert-RegistryUninstallSubKeyToObject -Computername $PC -SubKey $thisSubKey  
72.
   
73.
                }  # End ForEach $key  
74.
   
75.
                $reg.Close()  
76.
                   
77.
            } # End ForEach $UninstallKey  
78.
        } # End ForEach $pc  
79.
    } # end Process block  
80.
  
81.
    End {  
82.
      
83.
    } # end End block  
84.
   
85.
} #end Function 
86.
 
87.
Get-Software -Computername $objListbox.SelectedItems | sort Computername,DisplayName | ogv -Passthru |
Was ich mir vorstellen könnte wäre, dass man den UninstallString aus der Function mit einem Create Befehl auf dem Remote PC ausführt. Mit Hilfe vom Passthru aus ogv.
win32_product ist ja böse wie ich gelesen habe.^^
Mitglied: Bugger
25.11.2014 um 11:28 Uhr
Keiner eine Idee?
Bitte warten ..
Mitglied: Bugger
12.02.2015 um 12:19 Uhr
Die Frage ist übrigens noch aktuell
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Remote VPN einrichten
gelöst Frage von BuggerBatch & Shell4 Kommentare

Hallo zusammen, Um Remote Programme zu installieren nutze ich was auch sehr gut funktioniert. Nun würde ich das gerne ...

Batch & Shell
Powershell - User Remote abmelden
gelöst Frage von BuggerBatch & Shell4 Kommentare

Hallo zusammen, ich habe dieses Frankenstein Code Monster, es funktioniert auch. Zeile 3 und 4 meldet alle angemeldeten User ...

Windows Server
Powershell und Remote in der Registry rumwuseln
gelöst Frage von H41mSh1C0RWindows Server6 Kommentare

Hi@All, ich habe hier ein XML. Das bekomme ich auch eingelesen und gefiltert wie es sein soll. Am Ende ...

Microsoft
Remote installation - powershell
Frage von TECHGENEMicrosoft3 Kommentare

Guten Tag, verfüge über ein setup welches duch Kommandozeilen Zusatzbefehl das Setup im Silent-mode installiert. Starte ich also das ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...