Jump to content

Stibo

Members
  • Gesamte Inhalte

    306
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Stibo

  1. Guten Morgen zusammen,

     

    ich bin kürzlich auf Visual Studio Code gestoßen und bin ziemlich angetan davon; vor allem, weil die ISE ja anscheinend nicht mehr weiterentwickelt wird. Ich habe allerdings eine Frage bzw. ein Problem: wie kriege ich die IntelliSense für PS bei einer neuen Datei zum Laufen? Existierende ps(m)1-Dateien, die ich öffne, aktivieren es wohl sofort, aber wenn ich eine neue Datei erstelle wird nicht erkannt, dass der Code Powershell ist.

     

    Kann man das irgendwo definieren (z.B. jede neue Datei ist erst mal bis zur Änderung PS)? :hmmm:

    Bin dankbar für jede Hilfe! :)

  2. In meiner jetzigen Firma kenne ich den Prozess nicht, in der alten Firma haben wir es so gehandhabt:

     

    - AD-Account wurde deaktiviert

    - Homelaufwerk und Profilordner wurden zusammen in eine ZIP-Datei gepackt und ausgelagert

    - Der E-Mail-Account wurde aus sämtlichen Verteilern entfernt, alle vorhandenen E-Mails wurden per Mailstore in das sowieso vorhandene Archiv gesichert

    - es wurde beim Empfang neuer E-Mails eine Nachricht generiert, in der so etwas stand wie "arbeitet nicht mehr im Unternehmen, bitte an Person X oder Y wenden"

    - nach acht bis zwölf (je nach "Wichtigkeit" der Person) Wochen wurden Postfach und Account gelöscht

  3. Guten Morgen zusammen,

     

    ich erhielt eben einen Anruf eines Kollegen, der auf einem Server (VM unter ESXi; 2012 R2, 4 GB RAM) beim Starten einer Batch folgende Fehlermeldung bringt:

    Not enough storage is available to process this command.

     

    Der Kollege, der Admin auf dieser Maschine ist, hat bereits folgenden Schritt unternommen: https://support.microsoft.com/de-de/help/285089/description-of-the-irpstacksize-parameter-in-windows-2000-in-windows-x (Erhöhung des IRPStackSize, er hat ihn auf 50 angehoben), der aber nichts brachte.

     

    Die Batch selbst macht anscheinend nicht viel außer PDF-Dateien von A nach B zu kopieren, wenn ich das richtig verstehe. Falls wichtig, kläre ich, ob ich den Inhalt der Batch hier veröffentlichen darf.

    Ansonsten: hat hier jemand noch eine Idee, woran es liegen könnte? Für fehlende Infos einfach kurz schimpfen, dann reiche ich diese nach. :)

     

     

     

    [Edit] Stackoverflow hatte die Lösung: https://stackoverflow.com/questions/8857210/not-enough-storage-is-available-to-process-this-command-after-using-the-start

     

    In dieser Batch wird auch der Fenstername leer gelassen ( "" ). Habe das testweise mal in "Platzhalter" umgeschrieben und jetzt funktioniert die Batch.

  4. vor 6 Minuten schrieb BOfH_666:

    Die Verfügbarkeit einzelner cmdlets hängt nicht nur von der Powershell-Version ab, sondern auch von der Windows-Version auf der die Powershell läuft. Wenn Du Dir die Dokumentation auf den Microsoft-Seiten anschaust, hast Du immer auf der Linken Seite die Liste der cmdlets und darüber ein Suchfeld und die für die aktuell angezeigte Seite gültige Version von Windows oder Powershell. Wenn Du z.B. nach Install-Module suchst, findest Du standardmäßig erstmal die Dokumentation für Powershell Version 6. Wenn Du jetzt versuchst, die entsprechende Hilfe für die Version 3 aufzurufen, bekommst Du die Meldung, dass diese Seite nicht für die Version 3 verfügbar ist.

     

    Hallo Olaf,

     

    das hilft ungemein, besten Dank! :)

  5. Hallo zusammen,

     

    ich stehe hier vor einer Frage und weiß nicht, wie ich sie gelöst kriege, weswegen ich gehofft hatte, dass einer von Euch mich vielleicht aufschlauen kann.

     

    Als Beispiel: der Befehl Get-NetAdapter funktioniert, wie eine Googlesuche ergab, erst ab Windows 8 / Server 2012. Jetzt frage ich mich: wie findet man denn raus, welche Mindestversion von Powershell man für einen Befehl braucht? Steht diese Angabe irgendwo?

     

    Ich meine mich zu erinnern, dass auf der TechNet-Seite mal unter den Modulen / Befehlen stand "Applies to: Version X, Version Y, ...", aber das scheint ja nicht mehr der Fall zu sein.

     

    Danke vorab!

  6. Hallo,

     

    der Balken bei Windows Update läuft also stetig weiter, ohne Updates zu finden oder zu installieren? Hattest Du die Möglichkeit, den Server mal neuzustarten?

    Alternativ halte mal den Windows Update Service an, lösche das Verzeichnis, in dem die Updates gelagert werden, und starte den Dienst erneut. Geht alles per Kommandozeile:

     

    Net Stop wuauserv
    RD /s %windir%\softwaredistribution\
    Net start wuauserv
    wuauclt /detectnow

     

  7. vor 8 Stunden schrieb daabm:

    Mit Set kannst Du auch Teilstrings extrahieren, dann sparst Du Dir das mit "ohne Doppelpunkt":

    set LWCHAR=%LWCHAR:~0,1%

    Bei dem Net Use /Del noch ein /Yes dahinter, damit es auf jeden Fall getrennt wird :)

     

    Entweder verstehe ich das nicht oder ich mache es falsch :D, aber es klappt nicht. Ich erspare mir und Euch jetzt die Fehlermeldung, ich belasse es bei "ohne Doppelpunkt" und nutze das Script jetzt einfach so.

     

    Danke nochmal an alle für die Hilfe!

  8. Folgendes habe ich zusammengeschustert:

     

    @echo off
    :: Skript zum Wiederverbinden der Freigaben des Ablageservers
    
    :: Abfragen des Laufwerkbuchstabens
    echo Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?
    set /p LWChar="Bitte Laufwerksbuchstaben ohne Doppelpunkt eingeben und ENTER-Taste druecken:"
    echo %LWCHAR%
    
    :: Wiederverbinden des Laufwerks
    net use %LWChar%: /delete
    net use %LWChar%: \\server.domain\share /user:domain\%username% /persistent:yes
    
    echo Laufwerk %LWChar%: wurde neu verbunden, bitte ENTER zum Beenden druecken.
    pause

     

  9. @tesso: Remove-SMBShare kann ich leider nicht nutzen, weil alle Clients noch Windows 7 sind.

     

    vor 14 Stunden schrieb BOfH_666:

    Na wenn das nicht die perfekte Gelegenheit ist, sich endlich tiefer in Powershell einzuarbeiten!?!?  ;-):D 

     

    Speziell bei Powershell finde ich die Eintstieghürde extrem niedrig. So lange es noch verfügbar ist, könntest Du Dich z.B. in der Microsoft Virtual Academy ein bissl "berieseln" lassen. Der Einstiegskurs Getting Started with Powershell ist immernoch sehr empfehlenswert - auch wenn er nicht mehr taufrisch ist. Das kostet Dich nur ein wenig Deiner Zeit, bringt Dich aber enorm vorwärts. Besonders, wenn Du vorhast, Dich noch eine Weile in Windows-basierten System-Umgebungen zu bewegen.

     

    Und wenn Du irgendwo stecken bleibst, kannst Du ja immernoch hier fragen, oder hier oder hier oder hier oder hier:D 

     

    Ich versuche schon sehr lange, mich tiefer in Powershell einzuarbeiten, aber so richtig gelingen will mir das nicht; ich bin mir ziemlich sicher ich weiß auch weshalb, nur kriege ich das Problem auf kurz- bis mittelfristige Sicht wahrscheinlich nicht gelöst. Den MVA-Kurs habe ich sogar schon durchgesehen / -gearbeitet, der ist tatsächlich sehr hilfreich. Ich bin Dir / Euch wirklich dankbar für die Hilfe bisher, aber ich habe an dieses Thema für mich einen Haken gemacht und verwende eine ganz simple Batchdatei. Die mag eventuell nicht die schönste Option sein, aber in einem Test hat sie super funktioniert und liefert das, was ich brauche.

     

    vor 9 Stunden schrieb daabm:

    Olaf, zu Stackoverflow solltest ihn nicht schicken - da gibts nur gleich Mecker wegen "zu unspezifisch" und blah... :-)

     

    Das ist mir schon passiert,. :D ich weiß, was Du meinst.

     

     

     

    Das Thema hat sich dann erledigt.

  10. Am 1.2.2019 um 14:27 schrieb BOfH_666:

    Vielleicht kannst Du ja diesen Teil des Scriptes sowieso etwas "tweaken"/"pimpen". ;-) Ich bin immer skeptisch, wenn Anwender eine Wahl treffen sollen und dabei quasi völlig freie Hand haben. Ich fände es deutlich weniger fehlerträchtig, wenn sie in solch einem Fall nur die Wahl hätten, aus einer Liste von Möglichkeiten, die eine Richtige auszuwählen. Also wenn 4 oder 5 Netzlaufwerke existieren, diese als Auswahlliste anbieten und keine anderen Eingaben zulassen.

    Vielleicht sogar noch besser - der Pfad zur Freigabe sollte doch eigentlich bekannt sein - dann könntest Du danach suchen und das Laufwerk trennen ohne den AW behelligen zu müssen. Für das Neuverbinden der neuen Freigabe würde wieder das eben gesagte gelten - nur die sinnvollen Optionen zur Auswahl anbieten.

     

    Nun ist es so, dass sich meine Scriptfähigkeiten in Grenzen halten. ;) Die Idee hatte ich auch, aber die Umsetzung traue ich mir nicht zu. Daher habe ich zu dem gegriffen, von dem ich dachte, dass das klappen könnte.

     

    Am 1.2.2019 um 18:26 schrieb Sunny61:

    Da fällt mir nur noch die UAC ein. Kann es sein, dass die User lokale Adminrechte haben?

     

    Das muss ich erst verifizieren, ich glaube nicht, aber sicher bin ich mir nicht.

  11. vor einer Stunde schrieb Sunny61:

    Nicht funktioniert hilft an der Stelle ungemein. Genauer geht es nicht? Fehlermeldungen gab es keine?

     

    Ah, ich hab' die Fehlermeldung vergessen mit reinzukopieren, scusa me:

     

    Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?
    Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken:
    Q
    net : Die Netzwerkverbindung konnte nicht gefunden werden.
    At P:\PowerShell\Ablageserver.ps1:10 char:1
    + net use $LWB /d
    + ~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (Die Netzwerkver...efunden werden.:String) [], RemoteException
        + FullyQualifiedErrorId : NativeCommandError

     

    Es wird einfach kein gemapptes Laufwerk gefunden.

  12. vor 17 Stunden schrieb BOfH_666:

    Im Zweifel ist "net use" hier wohl sowieso die robustere Wahl. Ich würd einfach bei Laufwerksmappings immer "net use" benutzen (wenn GPOs keine Wahl sind - wäre vielleicht ne prima Gelegenheit, mal aufzuräumen und doch GPOs einzusetzen ;-) )

     

    Das Problem hierbei ist, dass ich/wir nicht die Hoheit über die Clients habe(n). Und bis wir hier die GPOs durchgesetzt haben ist 2019 wahrsch. auch wieder vorbei... ;)

     

    vor 17 Stunden schrieb Sunny61:

    Vorher mit einer Batch alle verbundenen Laufwerke trennen:

     

     

    
    net use * /delete /yes
    
    

     

     

     

    Auf die Idee kam ich auch schon (aber dediziert auf das entsprechende Laufwerk, also das, was der User eingibt), aber hat nicht funktioniert.

     

    vor 16 Stunden schrieb tesso:

    Probier es mal mit Remove-SmbMapping

     

    Werde ich gleich testen, danke!

  13. Hallo zusammen,

     

    ich schreibe gerade ein kleines Skript, mit dem sich Nutzer ein bestimmtes Netzlaufwerk (nach Aufnahme des Servers in die Domain, momentan steht er noch Standalone und die Mappings geschehen mit lokalen Benutzern) neu mappen sollen. Aufgebaut ist es folgendermaßen

     

    1. Der User wird gefragt, unter welchem aktuellen Buchstaben sein Laufwerk verbunden ist

    2. Das Mapping wird gelöscht

    3. Der User wird nach seinen alternativen Credentials abgefragt

    4. Das Mapping wird neu aufgebaut

     

    So sieht der Code bislang aus:

     

    # Skript zum Wiederverbinden der Freigaben des Ablageservers
    
    # Abfragen des Laufwerkbuchstabens
    
    Write-Host "Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?"
    Write-Host "Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken:"
    $LWB = Read-Host
    
    # Bereits verbundenes Laufwerk löschen
    Remove-PSDrive -Name $LWB -PSProvider FileSystem -Scope Global
    
    $Benutzer = Get-Credential -UserName "domain\$env:UserName" -Message "Bitte das tägliche Windowspasswort eingeben"
    New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\servername.localdomain\Share" -Credential $Benutzer -Persist

     

    Das spuckt die Console aus:

     

    PS C:\Windows\System32\WindowsPowerShell\v1.0> P:\PowerShell\Ablageserver.ps1
    Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?
    Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken:
    Q
    New-PSDrive : Der lokale Gerätename wird bereits verwendet
    At P:\PowerShell\Ablageserver.ps1:13 char:1
    + New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\Servername.localdomain ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (Q:PSDriveInfo) [New-PSDrive], Win32Exception
        + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
     
    
    PS C:\Windows\System32\WindowsPowerShell\v1.0> 

     

    Allem Anschein nach wird das Laufwerk überhaupt nicht getrennt. Wenn ich mit net use überprüfe, welche LWs noch gemappt sind, taucht es (Q) auch weiterhin auf.

    Was mache ich falsch? :confused: Bin für jede Hilfe dankbar! :) Und: Gruppenrichtlinien können wir in diesem Fall leider nicht benutzen, weil die User alle in derselben OU sind, aber verschiedene Freigaben nutzen.

     

    [Edit]

     

    Ich habe vermutlich die Antwort gefunden: Laufwerkmappings, die mit "net use" verbunden wurden, werden allem Anschein nach durch Remove-PSDrive nicht entfernt. Stellt sich mir die Frage, ob man irgendwie rausfinden kann, wie das Laufwerk gemappt wurde und per Schalter in dem Skript abfragt, welche Methode genutzt wurde...?

  14. Guten Morgen zusammen,

     

    ich habe aktuell Schwierigkeiten mit einer aktuellen Version von DISM, installiert auf einem Server 2012 R2. Installiert sind sowohl die alte (6.3.8450.1000) als auch die neue (10.1.16299.15) Version vom ADK.

    Wenn ich jetzt in einer cmd "dism /?" eingebe, kriege ich die Version 6.x angezeigt. Ich hätte aber gerne standardmäßig die neue.

     

    Ich vermute es liegt daran, dass die Datei nicht nur in ihrem eigenen Ordner liegt, sondern auch in C:\Windows\System32 bzw. C:\Windows\SysWOW64, die ja in der PATH-Umgebungsvariable definiert sind.

    Einfach austauschen kann ich die Dateien nicht, ich kriege jedes Mal ein "Zugriff verweigert" (auch mit einer elevated command prompt). Eine Deinstallation inkl. Neustart hat auch nicht geholfen.

     

    Hat hier jemand eine Idee, wie ich das bewerkstelligen könnte? Falls noch Infos fehlen, liefere ich die gerne nach!

     

    Danke vorab,

    Stefan

     

    [Edit] Rechtschreibkorrekturen.

  15. Hallo zusammen,

     

    einem Kollegen ist eben aufgefallen, dass bei einem Windows server 2008 in der Registry unter dem Schlüssel

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\UAS

    ein Key namens UpdateCount existiert, der auch die korrekte Anzahl an ausstehenden Updates anzeigt. Bei einem Server 2012 existiert dieser Key auch, zeigt aber immer 0 an - auch, wenn Updates zur Installation verfügbar sind.

     

    Das Ganze ist vor 3,5 Jahren schon mal jemandem aufgefallen, er hat aber bis heute keine Lösung / Antwort erhalten. Weiß hier einer von Euch Rat, wieso dem so ist?

    Vielen Dank vorab!

     

    P.S.: Ja, wir wissen, dass Server 2008 sehr alt ist, er muss dennoch ein wenig durchhalten, bevor er migriert werden kann. :)

  16. Hallo zusammen,

     

    ich schreibe gerade ein kleines Skript und hätte gerne den Komfort etwas verbessert. Hierzu frage ich Folgendes ab:

     

    $User = Read-Host "Bitte den 1er-User eintragen"
    $PW = Read-Host "Bitte Passwort eintragen" -AsSecureString

    $User = Read-Host "Bitte den User eintragen"
    $PW = Read-Host "Bitte Passwort eintragen" -AsSecureString

    Bei der Variable $User hätte ich gerne, dass die Domäne vorgegeben wird (also domain.local\), sodass man nur noch seinen Accountnamen eintragen muss. Geht das irgendwie?

    Danke vorab! :)

×
×
  • Neu erstellen...