henere
Goto Top

Powershell - Frage

Servus zusammen

ich hab hier ne .ps1 Datei.

Inhalt (gekürzt)

WBAdmin start backup -backupTarget:G: -include:D: -vssFull -quiet

Öffne ich übers Startmenu des 2016er Server die Powershell ISE als Admin und lade die Datei rein, kann ich das ausführen. (Backupjob läuft)

Nun habe ich mir eine Verknüpfung zur Powershell ISE auf den Desktop gelegt.
Starte ich diese als Admin und starte mein script so sagt es:

wbadmin wurde nicht als Teil eines CMDlets erkannt

Fehlen da irgendwelche Pfade oder wo liegt mein Fehler ?

Danke, Henere

Content-Key: 399416

Url: https://administrator.de/contentid/399416

Printed on: April 26, 2024 at 06:04 o'clock

Member: Stefan007
Stefan007 Jan 26, 2019 at 08:20:31 (UTC)
Goto Top
haste bei der ise Verknüpfung eingestellt, dass die immer als Admin gestartet wird?
Member: Henere
Henere Jan 26, 2019 at 12:19:33 (UTC)
Goto Top
Zitat von @Stefan007:

haste bei der ise Verknüpfung eingestellt, dass die immer als Admin gestartet wird?

Moin

Rechte Maustatze sollte meines Verständnisses nach, langen ?

Henere
Member: Stefan007
Stefan007 Jan 26, 2019 at 14:00:59 (UTC)
Goto Top
sicher?
Member: colinardo
colinardo Jan 27, 2019 updated at 11:16:36 (UTC)
Goto Top
Zitat von @Henere:

Inhalt (gekürzt)

WBAdmin start backup -backupTarget:G: -include:D: -vssFull -quiet

Antwort (gekürzt), die erspare ich mir am Sonntag:
Running Executables in PowerShell - How to avoid common pitfalls

Grüße Uwe
Member: Henere
Henere Jan 27, 2019 at 14:26:57 (UTC)
Goto Top
Moin Uwe,

danke für den Link. Aber ich verstehe es trotzdem nicht. Wo ist denn der Unterschied zwischen Startmenu Powershell ISE als Administrator und einer Verknüpfung zu Powershell ISE auf dem Desktop, die auch als Administrator gestartet wird ?

Ich würde mich echt gerne mehr damit beschäftigen, aber immer wieder diese Startschwierigkeiten.....

Henere
Member: colinardo
colinardo Jan 27, 2019 updated at 15:07:25 (UTC)
Goto Top
Zitat von @Henere:

Moin Uwe,

danke für den Link. Aber ich verstehe es trotzdem nicht. Wo ist denn der Unterschied zwischen Startmenu Powershell ISE als Administrator und einer Verknüpfung zu Powershell ISE auf dem Desktop, die auch als Administrator gestartet wird ?
Andere Profile. Aber wozu die ISE (Entwicklungsumgebung) starten wenn man nur ein Skript als Admin ausführen will.
Ich starte ja auch nicht Visual Studio wenn ich eine c# exe als Admin ausführen will face-smile.
Ich würde mich echt gerne mehr damit beschäftigen, aber immer wieder diese Startschwierigkeiten.....
Lesen hilft gegen Kopfschmerzen face-wink.

Btw. wir kennen den Inhalt des Skripts nicht und wie die Verknüpfung aussieht (ob auf die x86 Variante ISE oder die der x64 etc.).
Member: colinardo
colinardo Jan 27, 2019 updated at 15:13:14 (UTC)
Goto Top
Ich tippe bei dir auf folgendes: Du hast vermutlich statt der 64-Bit ISE die 32bit-(x86) ISE verlinkt, dort geht wbadmin nur wenn du wbadmin über das Sysnative-Verzeichnis aufrufst (C:\Windows\Sysnative\wbadmin.exe). Weil es eine 32bit wbadmin.exe im SysWOW64 Verzeichnis nicht gibt und der FS-Redirector nunmal im 32Bit Modus das System32 Verzeichnis auf das SysWOW64 Verzeichnis umleitet.

(32-bit Konsolenausgabe!)
screenshot

Verlinke die 64Bit ISE dann klappt es auch ohne Pfadangabe, weil dort direkt auf C:\windows\system32\wbadmin.exe verlinkt wird.

Hier etwas zum Lesen zur Filesystemredirection.
https://docs.microsoft.com/en-us/windows/desktop/winprog64/file-system-r ...

Das ist übrigens bei einer 32bit CMD auch nicht anders wenn man diese explizit aus C:\Windows\SysWoW64 startet.:

screenshot
Member: Henere
Henere Jan 27, 2019 at 15:52:56 (UTC)
Goto Top
Zitat von @colinardo:

Andere Profile. Aber wozu die ISE (Entwicklungsumgebung) starten wenn man nur ein Skript als Admin ausführen will.
Ich starte ja auch nicht Visual Studio wenn ich eine c# exe als Admin ausführen will face-smile.
Ich würde mich echt gerne mehr damit beschäftigen, aber immer wieder diese Startschwierigkeiten.....
Lesen hilft gegen Kopfschmerzen face-wink.

Btw. wir kennen den Inhalt des Skripts nicht und wie die Verknüpfung aussieht (ob auf die x86 Variante ISE oder die der x64 etc.).

Servus,

Da ich das script derzeit noch am erweitern bin, lasse ich es gerne zeilenweise laufen zum testen. Das geht in der ISE wunderbar.
Verlinkt ist diese hier: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe
Das sollte doch die 64bit sein, die 32bit liegt in C:\Windows\System32\WindowsPowerShell\v1.0

Henere
Member: colinardo
Solution colinardo Jan 27, 2019 updated at 18:09:07 (UTC)
Goto Top
Zitat von @Henere:
Verlinkt ist diese hier: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe
Das sollte doch die 64bit sein, die 32bit liegt in C:\Windows\System32\WindowsPowerShell\v1.0
Nein, es ist genau anders herum! Les mal den Link den ich dir zur FS-Redirection gepostet habe
The %windir%\System32 directory is reserved for 64-bit applications on 64-bit Windows. Most DLL file names were not changed when 64-bit versions of the DLLs were created, so 32-bit versions of the DLLs are stored in a different directory. WOW64 hides this difference by using a file system redirector.
Member: Henere
Henere Jan 28, 2019 at 01:14:10 (UTC)
Goto Top
Danke, genau das war es.