hoch

Chocolatey - veraltete Programm-Einträge löschen

Problem:

Ich habe mit Chocolatey Programme deinstalliert, z.B.

C:\Users\Axel>choco uninstall Quicktime

Aber dennoch verbleiben einige in der Liste der lokalen Anwendungen:


C:\Users\Axel>choco list -lo

7zip.commandline 16.01
7zip.install 16.01
AdobeAIR 20.0.0.233
autohotkey.portable 1.1.23.07
avirafreeantivirus 14.0.6.552
chocolatey 0.9.9.12
ChocolateyGUI 0.13.2
ConEmu 16.5.15.0
Far 3.0.4242
ffmpeg 3.0.1
flashplayeractivex 21.0.0.242
flashplayerplugin 14.0.0.179
javaruntime 8.0.73
jre8 8.0.91
netbeans-php 8.0
PDFXChangeViewer 2.5.317
Pencil 2.0.3
PowerShell 5.0.10586.20151218
Quicktime 7.7.5   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
SwissFileKnife 1.6.9
sysinternals 2016.04.28
virtualbox 5.0.20.106931
VirtualBox.ExtensionPack 5.0.20.106931
23 packages installed.

Lösung

Man gehe in das Lib Verzeichnis von Chocolatey

C:\Users\Axel>cd "C:\ProgramData\chocolatey\lib"

C:\Program\Data\chocolatey\lib>dir
 Datenträger in Laufwerk C: ist A
 Volumeseriennummer: 4C76-01F1

 Verzeichnis von C:\ProgramData\chocolatey\lib

23.05.2016  21:11    <DIR>          .
23.05.2016  21:11    <DIR>          ..
21.05.2016  13:14    <DIR>          7zip.commandline
21.05.2016  14:30    <DIR>          7zip.install
31.03.2016  23:40    <DIR>          AdobeAIR
21.05.2016  13:15    <DIR>          autohotkey.portable
13.08.2014  20:33    <DIR>          avirafreeantivirus.14.0.6.552
31.03.2016  23:48    <DIR>          chocolatey
17.11.2014  00:21    <DIR>          chocolatey.0.9.8.28
23.05.2016  21:08    <DIR>          ChocolateyGUI
21.05.2016  13:15    <DIR>          ConEmu
16.05.2015  10:32    <DIR>          Far
21.05.2016  13:16    <DIR>          ffmpeg
21.05.2016  13:17    <DIR>          flashplayeractivex
23.05.2016  21:11    <DIR>          flashplayerplugin
21.05.2016  13:20    <DIR>          javaruntime
21.05.2016  14:38    <DIR>          jre8
13.08.2014  21:08    <DIR>          netbeans-php.8.0
21.05.2016  13:20    <DIR>          PDFXChangeViewer
21.05.2016  14:34    <DIR>          Pencil
23.05.2016  21:08    <DIR>          PowerShell
21.05.2016  15:14    <DIR>          Quicktime   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
16.05.2015  11:06    <DIR>          SwissFileKnife
21.05.2016  13:21    <DIR>          sysinternals
21.05.2016  14:27    <DIR>          virtualbox
21.05.2016  14:29    <DIR>          VirtualBox.ExtensionPack
               0 Datei(en),              0 Bytes
              26 Verzeichnis(se), 337'768'534'016 Bytes frei

Hier habe ich das gleichnamige Verzeichnis gelöscht

C:\ProgramData\chocolatey\lib>del /S Quicktime

Möchten Sie "C:\ProgramData\chocolatey\lib\Quicktime*" löschen (J/N)? J
Datei wurde gelöscht - C:\ProgramData\chocolatey\lib\Quicktime\Quicktime.7.7.5.nupkg

Anm:
ohne Garantie … ggf. in ein anderes Verzeichnis Verschieben, statt zu löschen.

… aber dann ist Quicktime bei mir auch weg gewesen:

C:\ProgramData\chocolatey\lib>choco list -lo

7zip.commandline 16.01
7zip.install 16.01
AdobeAIR 20.0.0.233
autohotkey.portable 1.1.23.07
avirafreeantivirus 14.0.6.552
chocolatey 0.9.9.12
ChocolateyGUI 0.13.2
ConEmu 16.5.15.0
Far 3.0.4242
ffmpeg 3.0.1
flashplayeractivex 21.0.0.242
flashplayerplugin 14.0.0.179
javaruntime 8.0.73
jre8 8.0.91
netbeans-php 8.0
PDFXChangeViewer 2.5.317
Pencil 2.0.3
PowerShell 5.0.10586.20151218
SwissFileKnife 1.6.9
sysinternals 2016.04.28
virtualbox 5.0.20.106931
VirtualBox.ExtensionPack 5.0.20.106931
22 packages installed.

weiterführende Links:

  1. https://chocolatey.org/
Artikel weiterempfehlen: Google + Facebook

Sicherheitswarnung bei Programmverknüpfungen nach Win10 Update

Irgendwie nervt es. Es gibt diese Symbolleiste “Links” wo man Favouriten als Programmverknüpfungen ablegen kann.
2016-02-06-linkleiste-00.png

Mit IE-Update, mit Windows 10 Upgrade und jetzt wieder mit einem Windows10 Update kommen die Sicherheitsdialoge immer wieder aufs Neue und fragen höflich “Datei öffnen - Sicherheitswarnung … Möchten Sie diese Datei öffnen? …”

Das, was ich zu einer früheren Windows einmal erfolgreich praktizierte (icacls-Aufruf), funktioniert seit Windows 10 scheinbar nicht mehr. Dass der Order mal Links oder aber Favouriten heisst, ist an der Stelle nicht einmal das Problem. Die Methode geht einfach nicht mehr.

Schnelle Lösungen, die ich gefunden habe …

Für eine einzelne Verknüpfung die nachfolgende Variante:

(1)
Icon aus der Links Leiste einfach mit gedrückter linker Maustaste auf den Desktop ziehen und dort fallenlassen.
2016-02-06-linkleiste-01.png

(2)
Das Icon wird verschoben.
2016-02-06-linkleiste-02.png

(3)
Das Icon auf dem Desktop dann zurück in die Links-Leiste mit gedrückter linker Maustaste plus Shift-Taste ziehen.
2016-02-06-linkleiste-03.png

Icon nun aus der Link-Symbolleiste anklicken, um das Programm zu starten - der Sicherheitsdialog ist weg. Freu :-)

Um es für alle Verknüpfungen gleichzeitig zu machen, hab ich eine andere Lösung.

Man findet jenen Ordner für die Links im Explorer (Windows-Taste + E), wenn man %USERPROFILE%\Favorites\Links in die Adresszeile eingibt:
2016-02-06-linkleiste-04.png

Wenn man

  • einen neuen Ordner irgendwo anlegt
  • die Dateien aus \Favorites\Links in den Zwischen-Ordner verschiebt
  • dann zurück-kopiert

… ist der Sicherheitsdialog ebenfalls weg.
Ach ja, den Zwischenordner kann man dann löschen.

Ja und sowas wiederum kann man automatisieren und eine Bat-Datei schreiben - quick and dirty einmal so:

set linkdir=%USERPROFILE%\Favorites%\Links
set tmpdir=%TEMP%\Links

mkdir "%tmpdir%" 
move "%linkdir%*.*" "%tmpdir%"
dir "%linkdir%" "%tmpdir%"
pause
copy "%tmpdir%*.*" "%linkdir%"
dir "%linkdir%" "%tmpdir%"
pause
rmdir /s /q "%tmpdir%"

Update vom 12.08.2017
Und mal wieder funktionierte der Trick nicht mehr … aber ich habe etwas gefunden (s.a. Screenshots unten):

  1. Im Explorer zu C:\Users\[Benutzername]\ navigieren und auf “Favoriten” die rechte Maustaste und Eigenschaften wählen.
  2. Im Tab Sicherheit waren “komische” unbekannte User (mit einer SID Nummer). Mit [erweitert] den Editor für die Berechtigungen wählen.
  3. Hier die falschen Benutzer entfernen. Und [Übernehmen] … und [OK]. Durch die aktive Vererbung werden sie in den Unterelementen, zu denen auch der Links-Ordner gehört, ebenfalls entfernt
  4. Das Skript starten, das Links temporär wegschiebt und dann zurückkopiert (entspricht der Beschreibung oben)
  5. Falls die Icons nach dem Zurückkopieren nicht da sind: Die Symbolleiste “Links” ausblenden (rechte Maustaste in der Taskbar -> Symbolleisten -> Links anklicken) … und dann wieder einblenden.

2017-08-12-favoriten-mit-unbekanntem-user-01.png 2017-08-12-favoriten-mit-unbekanntem-user-02.png

Viel Glück!

weiterführende Links:

  1. alter Blog-Eintrag Sicherheitswarnung bei Programmverknüpfungen nach Installation des IE 10
  2. Kommando copy
  3. Kommando dir
  4. Kommando mkdir
  5. Kommando move
  6. Kommando pause
  7. Kommando set
Artikel weiterempfehlen: Google + Facebook

Cygwin - Installation per Kommandozeile: apt-cyg

Mit Cygwin holt man sich Linux Tools auf MS Windows. Nicht nur die Linux-Befehle, auch Dienste lassen sich installieren, wie z.B. OpenSSH.

Allgemein erfolgt die Installation mit der setup.exe und einer Paketauswahl per Mausklick (ja, es gibt natürlich auch einen Filter, wo man seinen Suchtext eingeben kann). Aber dennoch fehlt ein Kommandozeilen-Tool zum Suchen und installieren neuer Pakete, wie bei den Distributionen.

Just getestet und für gut befunden habe ich apt-cyg.

In der Bash ist es mit 2 Kommandos schnell installiert:

$ lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
$ install apt-cyg /bin

Und dann hat man, wie in Ubuntu, ein apt ähnliches Programm.

$ apt-cyg
usage: apt-cyg [command] [options] [packages]

Commands:
   install     Install packages
   remove      Remove packages
   update      Update setup.ini
   download    Download only - do NOT install or unpack archives
   show        Displays the package records for the named packages
   depends     Performs recursive dependency listings
   rdepends    Display packages which require X to be installed,
               AKA show reverse dependencies
   list        List packages matching given pattern. If no pattern is given,
               list all installed packages.
   category    List packages matching given category
   listfiles   List files owned by packages
   search      Search for a filename from installed packages
   searchall   Search for a filename from all available packages

Options:
   -c, --cache <dir>      set cache
   -f, --file <file>      read package names from file
   -m, --mirror <url>     set mirror
   --help
   --version

Nun sind Pakete schneller installierbar … man sucht in der Liste der vorhandenen Pakete

$ apt-cyg searchall [Begriff]

… und installiert es

$ apt-cyg install ncftp

Fertig :-)

apt-cyg selbst ist ein Bash-Skript. Es läuft somit auf der 32-bit und 64-Bit Version von Cygwin gleichermassen.

Weiterführende Links

  1. Cygwin
  2. apt-cyg auf Github
Artikel weiterempfehlen: Google + Facebook

NTFS: in den ACLs rekursiv einen Benutzer hinzufügen

Auf unserem Firmen-Fileserver sollte ein Benutzer zusätzlich berechtigt werden, das NTFS zu lesen.

Das Problem: Wenn man bei einem Startverzeichnis die Rechte gibt, wird dieses dann soweit nach unten vererbt, bis es auf irgendenem Verzeichnis andere Rechte gibt. So ist im Basisverzeichnis der Zugang für alle Mitarbeiter, einige Ebenen tiefer sind Projektordner, Protokolle, … verschiedenste Ordner halt. Bei jedem einzelnen Projektordner stoppt also der Vererbungsmechanismus und man muss bei jedem dieser Projektordner den Benutzer erneut hinzufügen.

Das wollte ich nicht von Hand und hunderten von Klicks erledigen.

Die nachfolgende Batchdatei sucht ab einem Startverzeichnis rekursiv alle Verzeichnisse (dir /s /b [Verzeichnis]).

Auf jedem Verzeichnis wird iacls aufgerufen (das zeigt die Berechtigungen an) und in der Ausgabe wird geschaut, ob der User bereits drin ist.

Ist der User nicht drin, gibt es einen Aufruf für die subroutine addUser. Dort wird der Benutzer (rekursiv) hinzugefügt und auf ein Return gewartet (aber das nur zur Kontrolle).

@echo off
rem ======================================================================
::
::    Skript zum Hinzufuegen eines einzelnen Users in die bestehenden
::    ACLs
::
::  ----------------------------------------------------------------------
::  2015-01-22  Axel Hahn
rem ======================================================================
set line=-------------------------------------------------------------------------------
 
set mydir=nas-blabla\irgend\wo
set cuser=DOMAIN\newuser
 
echo.
echo %line%
echo user %cuser% hinzufuegen in %mydir%
echo %line%
 
for /F "tokens=*" %%a in ('dir /b /s /a:d %mydir%') do (
      echo ... %%a
      icacls "%%a" | findstr "%cuser%" >nul || call :addUser "%%a"
)
echo.
echo fertig.
timeout /t 100
exit
 
:addUser
echo ...... adding %cuser%
icacls %1 /grant "%cuser%":(OI)(CI)(RX)
set /p dummy=Return

Weiterführende Links

Artikel weiterempfehlen: Google + Facebook

Chocolatey: Ersatz für choco list mit lokalem Cache

Ich habe mich mit Chocolatey angefreundet, verfluche aber die langsame Paketsuche.
Was man da machen kann? Nun, eine Batch-Datei schreiben, die die Paketliste lokal speichern kann und diesen Cache durchsucht.

Die Funktion ist nicht mit choco list [Suchbegriff] identisch, da hier auch Metainformationen gesucht werden - die Suche in meinem Skript geht rein auf Paketnamen, ist dafür aber wirklich massiv schneller!!

Der Cache wird 1 x pro Tag erneuert - oder bei manuellem Aufruf mit Parameter -u (=update).
Die Hilfe erscheint bei Aufruf ohne einen Parameter:


===== CHOCO PACKAGE SEARCH WITH LOCAL CACHE =====

DESCRIPTION:
clist2 is a choco list to search public packages that uses a local cache

SYNTAX:

  clist2 [searchstring]
     searchstring: part of a package, case insensitive,
     regex allowed i.e. "^fire" to find the firefox
     clist2 "^fire"

  clist2 -i
     infos about cachefile

  clist2 -u
     force update of local package list (it takes a while)

[Read More…]

Artikel weiterempfehlen: Google + Facebook