WinFuture-Forum.de: Hilfe zu Powershell-Script von http://winfuture.de/news,101369.html - WinFuture-Forum.de

Zum Inhalt wechseln

Windows 10: Alle News, der Download sowie zahlreiche Screenshots und Videos zum neuen Betriebssystem von Microsoft. Jetzt im WinFuture Windows 10 - Special informieren!
  • 2 Seiten +
  • 1
  • 2

Hilfe zu Powershell-Script von http://winfuture.de/news,101369.html

#16 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.912
  • Beigetreten: 20. Juli 07
  • Reputation: 871

geschrieben 05. Januar 2018 - 20:39

Wie, zurücksetzen?

-- Man kann sich den $Env:PSModulePath (%PSMODULEPATH% abseits der PowerShell) anschauen. Dann gucken, was es da drin gibt. "Einfach" wäre, das Ding aufs Minimum zu reduzieren:
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\
Modules;C:\Program Files\WindowsPowerShell\Modules;



Dann nochmal in diesen beiden Pfaden gucken, ob da irgendwas rumfliegt, was nicht fliegen soll.

PowerShell als Plattform benötigt (fast) überhaupt nichts. Die Module werden einfach über den $Env:PsModulePath gesucht und geladen. Installiert wird da nichts (allerdings werden evtl vorhandene DLL-Dateien in den Speicher geladen, wenn man das zugehörige Modul lädt; die gehen da auch nicht wieder raus und man muß dazu vorher die PowerShell neustarten).

Andererseits wird PS ohne Module nicht viel tun. Damit wäre sie sozusagen auf ein (eher unbrauchbares) Minimum zurückgesetzt.

Wenn man jetzt aber PS neu installiert, zB per WMF 5.1-Paket, dann sollten alle Erforderlichkeiten wiederhergestellt werden. Dafür nimmt man vermutlich schlauestens die mitgelieferte(n) CAB-Dateien (findet man im MSU, wenn man das als Archiv öffnet - alles außer WSUSSCAN.cab kann potentiell installiert werden). Die dann mit DISM /Online /Add-Package ... einspielen.


Die PS per Windows Features erst noch deaktivieren schadet definitiv nichts. Nie probiert, daher nicht sicher; aber wenn sich das wie alles-außer-IE verhält, dann werden auch die Programmdaten aus dem System geworfen und was übrig bleibt, kann ggf. gefahrlos aus dem Weg geräumt werden (schlimmstenfalls schiebt man das einfach hinterher wieder rein, wenn es dann doch zicken sollte). Dann PS wieder reaktivieren und gut.

Aber den PSMODULEPATH nicht vergessen. Hier kann jeder Honk was hinschreiben und wenn da dann ein Modul rumfliegt was stört, naja dann wird keine "Zurücksetzung" der Welt helfen, weil sobald PS wieder da ist und läuft wird der PSModulePath durchsucht und die ganzen Module dort auch wieder gefunden.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Anzeige

#17 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.983
  • Beigetreten: 03. Januar 09
  • Reputation: 510

geschrieben 05. Januar 2018 - 22:05

$Env:PSModulePath liefert
C:\Users\<username>\Documents\WindowsPowerShell\Modules; C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\ v1.0\Modules

Das mit WMF und DISM müsstest du näher erklären.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
Powered by Goanna
0

#18 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.912
  • Beigetreten: 20. Juli 07
  • Reputation: 871

geschrieben 05. Januar 2018 - 22:57

Ich geh erstmal nicht davon aus, daß man PS neu installieren muß.

Schau erstmal in die drei von Dir genannten Pfade rein, insbesondere in den Benutzerpfad, ob da irgendwelcher Kram drinsteht.

In den Pfad unter \Program Files\... wandern Module für alle Benutzer.

Standardmäßig gibt es unter beiden Pfaden gar nix. Ist jetzt was, kann es zumindest theoretisch weg - einfach rausschieben (umbenennen sollte auch reichen, aber dann wird es schwieriger, später auf den richtigen Namen zurückzubenennen).

Das eigentliche Problem ist der Pfad unter Windows. Hier sollten nur die PS-eigenen Module liegen, aber da kann man sich nicht drauf verlassen.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#19 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.983
  • Beigetreten: 03. Januar 09
  • Reputation: 510

geschrieben 06. Januar 2018 - 00:20

Irgentwas ist da sehr komisch.
Obwohl $Env:PSModulePath auch unter Dokumente einen Ordner angibt, exisitert dieser weder, noch ist er in den Umgebungsvariablen gelistet.

Unter C:\Program Files\WindowsPowerShell\Modules habe ich nun raus geschoben:
PackageManagement
PowerShellGet
PSReadline

Diese zwei lassen sich aber trotz Rechteübernahme von TrustedInstaller zu meinen Account nicht verschieben:
Microsoft.PowerShell.Operation.Validation
Pester

Unter C:\Windows\System32\WindowsPowerShell\v1.0\Modules gibt es folgende:
Appx
AssignedAccess
CimCmdlets
Defender
DirectAccessClientComponents
Dism
DnsClient
EventTracingManagement
iSCSI
ISE
Microsoft.PowerShell.Archive
Microsoft.PowerShell.Diagnostics
Microsoft.PowerShell.Host
Microsoft.PowerShell.LocalAccounts
Microsoft.PowerShell.Management
Microsoft.PowerShell.ODataUtils
Microsoft.PowerShell.Security
Microsoft.PowerShell.Utility
Microsoft.WSMan.Management
MsDtc
MSMQ
NetAdapter
NetConnection
NetEventPacketCapture
NetLbfo
NetNat
NetQos
NetSecurity
NetSwitchTeam
NetTCPIP
NetworkConnectivityStatus
NetworkSwitchManager
NetworkTransition
PcsvDevice
PnpDevice
PrintManagement
Provisioning
PSDiagnostics
PSScheduledJob
PSWorkflow
PSWorkflowUtility
ScheduledTasks
SmbWitness
StartLayout
Storage
TroubleshootingPack
VpnClient
Wdac
WindowsDeveloperLicense
WindowsErrorReporting
WindowsSearch
WindowsUpdate
WindowsUpdateProvider
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
Powered by Goanna
0

#20 Mitglied ist offline   DK2000 

  • Gruppe: Administration
  • Beiträge: 17.867
  • Beigetreten: 19. August 04
  • Reputation: 950

geschrieben 06. Januar 2018 - 07:49

 Zitat (RalphS: 05. Januar 2018 - 20:39)

Wie, zurücksetzen?

Damit meine ich, alles auf Standardwerte zurücksetzen, so dass Module automatisch wieder geladen werden, wenn sie zum ersten Mal gebraucht werden. Dieses Verhalten kann man auch abschalten. Dann werden Module nur noch geladen, wenn man sie manuell läd. Vermute da halt, dass sich da etwas verstellt hat.

https://technet.micr...y/hh847796.aspx

Mit den Modulepfad selber dürfte das nichts zu tun haben, da die Module ohne Pfadangabe bei ihm geladen werden können. Also passt das bis hier hin soweit.
Nutella hat nur sehr wenig Vitamine.
Deswegen muss man davon relativ viel essen.
0

#21 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.912
  • Beigetreten: 20. Juli 07
  • Reputation: 871

geschrieben 06. Januar 2018 - 09:11

Ah. Weiß grad nicht aus dem Kopf, aber mglw über $PsSessionOption?

Oder halt in der Registry. Aber nie geschaut wo man da gucken muß.

Den Modulpfad nur insoweit, daß Zeugs da drin durchaus stören kann, grad unter \Windows. Mit der Konfiguration selber hat das natürlich nichts zu tun.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#22 Mitglied ist offline   sklaes 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 04. Dezember 04
  • Reputation: 0

geschrieben 06. Januar 2018 - 11:38

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module SpeculationControl



so klappt es auch das Module zu installieren

Dieser Beitrag wurde von sklaes bearbeitet: 06. Januar 2018 - 11:40

0

#23 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.912
  • Beigetreten: 20. Juli 07
  • Reputation: 871

geschrieben 06. Januar 2018 - 11:57

Aber nur, wenn Packagemanagement auch geladen ist.

Nuget braucht man auch nicht immer. Normalerweise reicht Install-Module, ggf. in Verbindung mit Find-Module. Der holt sich dann schon alles, was er womöglich noch extra braucht.

Aber in diesem Fall mögen die Module nicht bedarfsweise geladen werden. Liegt sicher an irgendeiner Sicherheitseinstellung.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#24 Mitglied ist offline   DK2000 

  • Gruppe: Administration
  • Beiträge: 17.867
  • Beigetreten: 19. August 04
  • Reputation: 950

geschrieben 06. Januar 2018 - 12:25

Beitrag anzeigenZitat (sklaes: 06. Januar 2018 - 11:38)

so klappt es auch das Module zu installieren

Das ist hier nicht das Problem. Das eigentliche Problem hier ist, dass auch die bereits installierte Module nicht automatisch geladen werden. Er müsste jetzt zu erst das Modul von Hand laden, welches das Cmdlet 'Install-PackageProvider' exportiert (müsste auch 'PackageManagement'). Ansonsten geht das auch ins Leere.

Vermute da halt, das '$PSModuleAutoLoadingPreference' auf 'None' steht. Normaler Weise steht es auf 'All'.
Nutella hat nur sehr wenig Vitamine.
Deswegen muss man davon relativ viel essen.
0

#25 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.983
  • Beigetreten: 03. Januar 09
  • Reputation: 510

geschrieben 06. Januar 2018 - 13:45

Irgentwas passt auch mit dem Powershell-Profil nicht.

Unter https://technet.micr...y/hh847857.aspx steht wie man das Profil bearbeiten kann.
Wenn ich aber notepad $profile eingebe, kommt eine Windows Fehlermeldung das die Datei nicht gefunden werden kann was wohl daran liegt das der Pfad C:\Users\<username>\Documents\WindowsPowerShell\ Microsoft.PowerShell_profile.ps1 gar nicht exisitert. Nur ein C:\Users\<username>\Documents\PowerShell mit dem Ordnerordner Scripts.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
Powered by Goanna
0

#26 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.912
  • Beigetreten: 20. Juli 07
  • Reputation: 871

geschrieben 06. Januar 2018 - 17:28

Das ist normal. Die Profildatei existiert standardmäßig nicht und würde (geh ich von aus) standardmäßig auch nicht ausgeführt werden wegen -ExecutionPolicy Restricted.

Man kann die aber unter PS anlegen mit New-Item -ItemType File -Force -Path $Profile .

Dann kann man die auch mit Notepad bearbeiten, an dieser Stelle gleich mit start notepad $profile oder, vielleicht angenehmer, mit start powershell_ise $profile .

Beitrag anzeigenZitat (DK2000: 06. Januar 2018 - 12:25)

Vermute da halt, das '$PSModuleAutoLoadingPreference' auf 'None' steht. Normaler Weise steht es auf 'All'.


Mh? Bei mir ist das $NULL. :unsure:

Muß ich wohl mal nachgucken, ob das so hinhauen kann.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#27 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.983
  • Beigetreten: 03. Januar 09
  • Reputation: 510

geschrieben 13. Januar 2018 - 14:01

Ein InPlace Upgrade (Einstellugen + Daten beibehalten) hat keine Änderung mit dem Powershell Modul gebracht.
Wird wohl auf neu konfigurieren hinauslaufen.

Ich vermute das beim Upgrade von Win7 und geupgradeten Powershell samt dem WMF Packet da irgentwas kaputt ist.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
Powered by Goanna
0

#28 Mitglied ist offline   DK2000 

  • Gruppe: Administration
  • Beiträge: 17.867
  • Beigetreten: 19. August 04
  • Reputation: 950

geschrieben 13. Januar 2018 - 18:09

Ja, das ist das Problem mit dem InPlace Upgrade. Das ist mittlerweile so gut geworden, das es auch Probleme (z.B. falsche Einstellungen) übernehmen kann, die es selbst nicht als Fehler erkennt.
Nutella hat nur sehr wenig Vitamine.
Deswegen muss man davon relativ viel essen.
0

#29 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.983
  • Beigetreten: 03. Januar 09
  • Reputation: 510

geschrieben 13. Januar 2018 - 19:33

Ich könnte auch noch ein InPlace Upgrade ohne Daten beibehalten versuchen, aber da kann ich genauso gut eine Clean Install machen.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
Powered by Goanna
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0