Jump to content

stefan4711

Members
  • Gesamte Inhalte

    80
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von stefan4711

  1. Recht schönen Dank, etwas weiter bin ich jetzt, nur er schreibt die Bachup Files nicht in das Verzeichnis, sondern in C und Bennent sie in diesem Stil: sqlbacktest_20210507.BAK

     

    Die Skripte sehen nun wie folgt aus:

     

    @Echo Off 
    
    CD /D %~dp0
    set "path=c:\sqlback"
    if not exist "c:\sqlback" MD "c:\sqlback" 
    "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -S "localhost\db" -i "%~dp0\SQL-SicherungALL_DB.sql"
    PAUSE
    EXIT
    
    
    SQL:
    -------------------------------------------------------------
    DECLARE @name VARCHAR(50) -- database name  
    DECLARE @path VARCHAR(256) -- path for backup files  
    DECLARE @fileName VARCHAR(256) -- filename for backup  
    DECLARE @fileDate VARCHAR(20) -- used for file name
     
    -- specify database backup directory
    
     
    -- specify filename format
    SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
     
    DECLARE db_cursor CURSOR READ_ONLY FOR  
    SELECT name 
    FROM master.sys.databases 
    WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
    AND state = 0 -- database is online
    AND is_in_standby = 0 -- database is not read only for log shipping
     
    OPEN db_cursor   
    FETCH NEXT FROM db_cursor INTO @name   
     
    WHILE @@FETCH_STATUS = 0   
    BEGIN   
       SET @fileName = '$(path)' + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  
     
       FETCH NEXT FROM db_cursor INTO @name   
    END   
    
     
    CLOSE db_cursor   
    DEALLOCATE db_cursor

    Vielen Dank noch mal

     

    lg

     

    Stefan

  2. ok danke, dir, ich gehe ja auch davon aus dass im SQL Script irgendwas fehlt, wenn ich das soi aufrufe kommt folgendes:

     

    Zitat

    Msg 132, Level 15, State 1, Server N181103\db, Line 24
    The label 'C' has already been declared. Label names must be unique within a query batch or stored procedure.
    Msg 132, Level 15, State 1, Server N181103\db, Line 24
    The label 'C' has already been declared. Label names must be unique within a query batch or stored procedure.
    Msg 132, Level 15, State 1, Server N181103\db, Line 24
    The label 'C' has already been declared. Label names must be unique within a query batch or stored procedure.

     

     

  3. Hallo allerseits, ich habe mal eine Frage an unsere Scripting experten. Ich habe untenstehendes SQL Scriot, welches durch das nachfolgende Batch aufgerufen wird. Ich möchte eine Variable Path, die im Batch definiert wird, an en SQl Aufruf übergeben. Leider funktioniert das noch nicht so ganz, ich gehe davon aus das der Fehler im SQL liegt, wie sage ich dem Script, dass er die dort im Aufruf definierte Variable path übernimmt.

     

    DECLARE @name VARCHAR(50) -- database name  
    DECLARE @path VARCHAR(256) -- path for backup files  
    DECLARE @fileName VARCHAR(256) -- filename for backup  
    DECLARE @fileDate VARCHAR(20) -- used for file name
     
    -- specify database backup directory
    /*SET @path = 'C:\Backs\'  */
     
    -- specify filename format
    SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
     
    DECLARE db_cursor CURSOR READ_ONLY FOR  
    SELECT name 
    FROM master.sys.databases 
    WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
    AND state = 0 -- database is online
    AND is_in_standby = 0 -- database is not read only for log shipping
     
    OPEN db_cursor   
    FETCH NEXT FROM db_cursor INTO @name   
     
    WHILE @@FETCH_STATUS = 0   
    BEGIN   
       SET @fileName = $(path) + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  
     
       FETCH NEXT FROM db_cursor INTO @name   
    END   
    
     
    CLOSE db_cursor   
    DEALLOCATE db_cursor

     

    Batchfile:

    @Echo Off 
    
    CD /D %~dp0
    set "path=c:\sqlback"
    
    "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -v path="'%path%" S "localhost\db" -i "%~dp0\SQL-SicherungALL_DB.sql"
    
    
    EXIT

     

    Über eine Idee würde ich mich sehr freuen

     

    lg

     

    Stefan

  4. Hallo allerseits, 

     

    ich habe eine ganz einfache Frage (zumindest für Batchexperten): Der folgende Befehl gibt mir von einer Win Aufgabe die UserId aus:

     

    for /f %a in ('schtasks /query /TN _01_Task1 /XML ^|findstr "UserId"') DO  Set "xml=%a"

     

    In einer batch, wo ich diese variable benötige funktioniert das jedoch nicht? Weiss jemand warum? Mein Codeschnipsel sieht so aus:

     

     

    @echo off
    
    
    for /f %%a in ('schtasks /query /TN _01_Regwerte_setzen /XML ^|findstr "UserId"') DO (
     Set "xml=%%a"
    
    )
    
    echo %xml%

     

    Vorweg erwähnt, PS ist in meinem Fall keine Alternative.

     

    lg

     

    Stefan

     

     

     

     

     

  5. Zitat

    ich möchte eine CSV Liste erhalten, die ggf. auch für einen Entscheidungsträger in lesbarer Form zur Verfügung stellen.

    Weil es so oder so, ich habe natürlich beides schon ausprobiert, sich an der Ausgabe nichts ändert, ab der 10 Position ,in etwa, seh ich nur noch Punkte, das ist nicht die gewünschte Ausgabe, ich habe keine Glaskugel hier.

     

    Zitat

    ich möchte eine CSV Liste erhalten, die ggf. auch für einen Entscheidungsträger in lesbarer Form zur Verfügung stellen.

    Nein hatte ich bereits im Anfangspost erwähnt und dann noch 2 weitere Male;) Aber das passiert mir oft, dass man was bei mir überließt, wenn man mir das in der Umkehrung ebenso nachsieht, ist alles ok;) menschlich

    Zitat

    wenn er den jweiligen Hostnamen mittels nslookup mit angeben würde und dies in eine CSV schreibt, gibt es da eine Möglichkeit?

     

    Vielen Dank i.V.

     

     

    Den Code werde ich morgen noch mal in Ruhe ausprobieren, ich bedanke mich schon mal für den hilfreichen Ansatz,, bloß die ... müssen auf jeden Fall weg, ob Scnörkel oder nicht, ich will die Information haben, und ... hat keinen Infogehalt für mich. Nennt mich b***d, aber da find ich die gute alte Batch immer noch einleuchtender, auch, wenn ich oft genug selber schon drauf geschimpft habe;)

     

    Gruß

     

    Stefan

     

  6. Hallo,

     

    Zitat

    ping -n 1 %NET%.%%f | findstr /i "TTL" >nul 2>&1 && (

    von daher sagte ich ja auch Gewöhnungsache, am Anfang war das für mich auch kryptisch, mit dieser Zeile teste ich, ob ein PC vorhanden ist, indem ich einenPing ausführe und nach em String TTL, der bei einem erfolgreichen Ping immer unten steht, suchen lasse. Da mich die  Ausgabe nicht interessiert, schicke ich diese mit >nul ins Nirvana, wie gesagt Gewöhnungssache.

     

    Zitat

    Aber CMD/Batch musstest Du doch auch irgendwann mal gelernt haben ... oder konntest Du das einfach irgendwann einfach so

    Ne natürlich nicht, und von könne will ich ja auch gar nicht reden, zumindest führt eine Scriptsprache mit der man sich wenigstens zu 10% auskenntimmer noch eher zum Ziel, als eine Scriptsprache bei der man sich zu 0% auskennt, insb. wenn es sich um eine einfach strukturierte Aufgabe handelt.

     

    Zitat

    $a=foreach($i in (2..254)){[PSCustomObject]@{IP="192.168.1

    Werde ich ausprobieren, danke für den Hinweis. (An welcher Stelle mus ich das denn einfügen?Trotzdem habe ich aber immer mehr das Gefühl, dass ich mich bei der Aufgabenstellung wohl nicht ganz verständlich ausgedrückt hatte, ich möchte eine CSV Liste erhalten, die ggf. auch für einen Entscheidungsträger in lesbarer Form zur Verfügung stellen.

     

    danke und lg

     

    stefan

  7. Wow, na da hat sich doch mal jemand Gedanken gemacht, dass man diese, von mir gestellte Aufgabe in einen PS Einzeiler bekommt sehe ich zwar noch nicht, werde das Script von Dir @BOfH_666 am Montag mal testen, ich perönlich finde Powershel jedenfalls um einiges kryptischer, aber ist wohl Gewöhnungssache, bin halt eher für schnelle funktionierende Lösungen, als für simple Aufgabenstellungen gleich ne andere Sprache erlernen zu müssen. Aber ist wohl Geschmackssache, ich jedenfalls habe bei PowershellScripten oftmals festgestellt, dass auf verschiednen Rechnern unterschiedliche Grundvorrausetzungen bzgl. bestimmter Repostories etc. vorhanden sind, gibte es zwar teilweise bei Batch auch, zumindest nicht ganz so arg.

     

     

    Schönes Wochende noch  und Danke

     

     

    Zitat

    foreach($i in (2..254)){[PSCustomObject]@{IP="192.168.178.$i";File=If(Test-Connection "192.168.178.$i" -Cou 1 -Q){Test-Path "\\192.168.178.$i\c$\Program Files (x86)\Prg\aktvers.txt"}else{'n/a'}}}

    Dieser Einzeiler ist ja wirklich beindruckend, er macht das selbe wie das Script weiter obben, nur leider kann mit dem Ergebnis keiner was anfangen, oder soll ich die Ip Adressen durchzählen um die IP zu finden, auf dem die Datei existiert, und mehr tut diesers Script ja nicht. Ich wollte im Prinzip eine CSV als Ergebnis, mit 4 Spalten, IP,Hostname, Hoststaus und die ausgelesen Nummer aus der Datei. Mit einer solchen Datei kann niemand etwas anfangen, oder doch?

     

    IP            File
    --            ----
    192.168.178.2 n/a
    192.168.178.3 n/a
    192.168.178.4 n/a
    192.168.178.5 n/a
    192.168.178.6 n/a
    192.168.178.7 n/a
    192.168.178.8 n/a
    192.168.178.9 n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... n/a
    192.168.17... F...
    192.168.17... True
    192.168.17... F...
    192.168.17... n/a

    Gruss

    Stefan

     

  8. stuck was? egal, bestimmt ne Floskel, wie ach wie furchbar, es tut aber was es soll, und ich steige durch, mir geht es ebenfalls so, beim Betrachten des Codes von anderen, dass ich nicht durchsteige, von daher seh ich das nicht als Beleidigung;) Mit dem Powershell werde ich mich, sofern Zeit ist mal näher mit beschäftigen, meistens höre ich immer nur nimm Powershell, aber zumeist bleibt es bei diesem Spruch, Ich werde für so einen kleinen Anwednungs-Fall beim guten alten Batch bleiben, und nicht mit Kanonen auf Spatzen schiessen, wie würde denn dein Code aussehen daabm, mal interessehalber gefragt? Ich will da keine Anwendungen mit schreiben. Jetzt mögen vielleicht viele sagen, dass es bald nur noch Powershell gibt, ich persönlich habe davon jedenfalls noch nichts offizielles gelesen.

     

     

    lg

     

     

    Stefan

  9. So nach einer halbe Dose Traubenzucker hab ich es nun hinbekommen, denke mal ich hatte mich nur falsch ausgedrückt, das Ergebnis sieht nun wie folgt aus, schade nur dass er nur die Computer, wo es eine Prüfdatei gibt in die Datei schreibt. Also so abwegig find ich meinen Ansatz nun gar nicht mehr, zumindest funktioniert er

     

    @Echo Off
    mode con cols=120
    DEL /s /q "c:\aug.txt">nul 
    setlocal enableextensions EnableDelayedExpansion
    set "NET=192.168.178"
    SET "checkdat=c$\Program Files (x86)\PRG\aktvers.txt"
    
    for /l %%f in (19, 1, 45) do (
        ping -n 1 %NET%.%%f | findstr /i "TTL" >nul 2>&1 && (
    	
            if exist "\\%NET%.%%f\%checkdat%" (
    		SET /p vers=<"\\%NET%.%%f\!checkdat!"
                echo %NET%.%%f Checkdata vorhanden, !vers!  
    	        echo %NET%.%%f Checkdata vorhanden, !vers! >> c:\aug.txt 
    			
            ) else (
                echo %NET%.%%f prg nicht installiert
    			echo %NET%.%%f prg nicht installiert > c:\aug.txt 
            )
        ) || (
                echo %NET%.%%f Host nicht erreichbar
    			echo %NET%.%%f Host nicht erreichbar > c:\check.txt
    			
        )
    )
    PAUSE

     

    mit dem RSAT werde ich noch mal schauen

  10. also bei mir kommen bei diesem Script folgende Fehler

     

    Zitat
    
    Get-ADDomain : Die Benennung "Get-ADDomain" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms 
    erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
    In C:\Users\riegert\Desktop\Unbenannt2.ps1:1 Zeichen:14
    + $curDomain = Get-ADDomain -Current LocalComputer
    +              ~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (Get-ADDomain:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
     
    Get-ADComputer : Die Benennung "Get-ADComputer" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms 
    erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
    In C:\Users\riegert\Desktop\Unbenannt2.ps1:2 Zeichen:16
    + $AllComputer = Get-ADComputer -Filter * `
    +                ~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (Get-ADComputer:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException

     

     

  11. jo vielen Dank erstmal, hätte nie gedacht dass Batch bei dieser eher einfachen Aufgabe schon ein seine Grenzen stößt. Hatte irgendwie im Hinterkopf, dass man in Txt dateien schreiben kann mit CSV Formatierung. Aber ich schau mir Deinen Ansatz gerne mal an. Auf den ersten Blick würde ich sagen, auch wenn ich von PS sicherlich keine Ahnung habe, dass hier lediglich getestet wird, ob Rechner erreichbar sind, oder sehe ich das falsch?

     

    schöne Abend noch

     

     

  12. Hm, danke erst mal für die schnelle Antwort,

     

     hab es jetzt rausgefunden, nur warum es so ist, dass es manchmal nur mit Expansion geht, und warum mal mit ! und an welcher Stelle, da hat wohl keiner so recht eine Antwort drauf, konnte mir auch noch nie einer erklären ;) Für die, die es interessiert, hier mein Ansatz

     

    @Echo Off
    setlocal enableextensions EnableDelayedExpansion
    set "NET=192.168.178"
    SET "checkdat=c$\Program Files (x86)\Prg\aktvers.txt"
    
    for /l %%f in (19, 1, 45) do (
        ping -n 1 %NET%.%%f | findstr /i "TTL" >nul 2>&1 && (
    	
            if exist "\\%NET%.%%f\%checkdat%" (
                echo %NET%.%%f Checkdata vorhanden 
    	         SET /p vers=<"\\192.168.178.%%f\!checkdat!" && ECHO !vers!
            ) else (
                echo %NET%.%%f CheckData nicht vorhanden
            )
        ) || (
                echo %NET%.%%f Host aus / Nicht erreichbar
        )
    )
    PAUSE

    Wäre natürlich noch schän, wenn er es mir zeilenweise in eine CSV schreiben würde, vielleicht kennt einer den Befehl

     

    lg und schönen Abend noch

  13. Hallo liebe Forengemeinde,

     

    ich habe mal wieder ein kleines Problemchen,

     

    ich möchte gerne mit einer Fo / L schleife eine IP Range abfragen, und auf jedem Rechner eine TXT Datei auf Existenz abcheckt und, falls vorhanden die darinstehende Versions Zahl ausliest. Irgendwie stimmt das aber hier nocht nicht, vielleicht sieht ja einer den Fehler, schön wäre es natürlich auch wenn er den jweiligen Hostnamen mittels nslookup mit angeben würde und dies in eine CSV schreibt, gibt es da eine Möglichkeit?

     

    Vielen Dank i.V.

     

     

    lg

     

    Stefan

    @Echo Off
    
    set "NET=192.168.178"
    SET "checkdat=c$\Program Files (x86)\PRG\aktvers.txt"
    
    for /l %%f in (38, 1, 255) do (
        ping -n 1 %NET%.%%f | findstr /i "TTL" >nul 2>&1 && (
    	echo %hostname%
            if exist "\\%NET%.%%f\%checkdat%" (
                echo %NET%.%%f Checkdata vorhanden 
    	         SET /p vers=<"%NET%.%%f\%checkdat%"
    			
            
            ) else (
                echo %NET%.%%f CheckData nicht vorhanden
            )
        ) || (
                echo %NET%.%%f Host aus / Nicht erreichbar
    			
        )
    )
    PAUSE
    

     

     

  14. Hallo allerseits,

     

    ich habe die Aufgabe eine Defaultanpassung des Startmenus und der Taskbar zu machen, welche per GPO verteilt werden soll. ich bin mittlerweile am verzweifeln, ich habe die entsprechenden Startanpassungen getätigt und per Powershell exportiert. Dann habe ich die entsprechende TaskbarSection eingefügt, die grundsätzliche Struktur sieht so aus, wie auf den MS Seiten beschrieben, und trotzdem, geht entweder nur die Taskbar oder die Kacheln, was ist bitte mit meiner XML falsch? Es wurden hier auch nur Standardapps verwenden die von allen Usern verwendbar sind, daran sollte es also nicht liegen, dass hier im Startmenu nur 2 Symbole erscheinen

     

    <?xml version="1.0" encoding="utf-8"?>
    <LayoutModificationTemplate
        xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
        xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
        xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
        xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
        Version="1">
      <LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" />
      <DefaultLayoutOverride>
           <StartLayoutCollection>
          <defaultlayout:StartLayout GroupCellWidth="8">
            <start:Group Name="Produktivität">
              <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="308046B0AF4A39CB" />
              <start:Tile Size="2x2" Column="6" Row="2" AppUserModelID="Microsoft.ScreenSketch_8wekyb3d8bbwe!App" />
              <start:DesktopApplicationTile Size="2x2" Column="0" Row="4" DesktopApplicationID="Microsoft.Office.OUTLOOK.EXE.16" />
              <start:Tile Size="2x2" Column="0" Row="6" AppUserModelID="Microsoft.WindowsMaps_8wekyb3d8bbwe!App" />
              <start:Tile Size="2x2" Column="6" Row="0" AppUserModelID="Microsoft.WindowsAlarms_8wekyb3d8bbwe!App" />
              <start:Tile Size="2x2" Column="4" Row="6" AppUserModelID="Microsoft.MSPaint_8wekyb3d8bbwe!Microsoft.MSPaint" />
              <start:DesktopApplicationTile Size="2x2" Column="4" Row="4" DesktopApplicationID="{6D809377-6AF0-444B-8957-A3773F02200E}\Microsoft Office\Office16\WINWORD.EXE" />
              <start:Tile Size="2x2" Column="0" Row="2" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" />
              <start:Tile Size="2x2" Column="6" Row="6" AppUserModelID="Microsoft.SkypeApp_kzf8qxf38zg5c!App" />
              <start:DesktopApplicationTile Size="2x2" Column="6" Row="4" DesktopApplicationID="{6D809377-6AF0-444B-8957-A3773F02200E}\Microsoft Office\Office16\POWERPNT.EXE" />
              <start:SecondaryTile AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" TileID="52.52_13.41" DisplayName="" Size="4x4" Column="2" Row="0" Arguments="{&quot;Geoposition&quot;:{&quot;Latitude&quot;:52.520000457763672,&quot;Longitude&quot;:13.409999847412109,&quot;Altitude&quot;:0.0},&quot;Locality&quot;:&quot;Berlin&quot;,&quot;AdminDistrict1&quot;:&quot;BE&quot;,&quot;AdminDistrict2&quot;:&quot;Berlin&quot;,&quot;CountryOrRegion&quot;:&quot;Deutschland&quot;,&quot;CountryCode&quot;:&quot;DE&quot;,&quot;EntityType&quot;:&quot;Address&quot;,&quot;Name&quot;:&quot;Rathausstraße 91, 10178 Berlin&quot;,&quot;NameId&quot;:&quot;Berlin BE Berlin Deutschland&quot;,&quot;DisplayName&quot;:&quot;Berlin, BE&quot;,&quot;BoundingBoxSW&quot;:{&quot;Latitude&quot;:52.5158032824293,&quot;Longitude&quot;:13.4016746808385,&quot;Altitude&quot;:0.0},&quot;BoundingBoxNE&quot;:{&quot;Latitude&quot;:52.5235287175707,&quot;Longitude&quot;:13.4186013191615,&quot;Altitude&quot;:0.0},&quot;IsLegacyHomeLocation&quot;:false,&quot;ShortDisplayName&quot;:&quot;Berlin&quot;}" Square71x71LogoUri="ms-appx:///Assets/AppTiles/WeatherSmallTile.png" Square150x150LogoUri="ms-appx:///Assets/AppTiles/WeatherMedTile.png" Wide310x150LogoUri="ms-appx:///Assets/AppTiles/WeatherWideTile.png" Square310x310LogoUri="ms-appx:///Assets/AppTiles/WeatherLargeTile.png" ShowNameOnSquare150x150Logo="true" ShowNameOnWide310x150Logo="true" BackgroundColor="#00ffffff" ForegroundText="light" />
              <start:DesktopApplicationTile Size="2x2" Column="2" Row="4" DesktopApplicationID="{6D809377-6AF0-444B-8957-A3773F02200E}\Microsoft Office\Office16\EXCEL.EXE" />
            </start:Group>
          </defaultlayout:StartLayout>
        </StartLayoutCollection>   
      </DefaultLayoutOverride>
    <CustomTaskbarLayoutCollection PinListPlacement="Replace">
        <defaultlayout:TaskbarLayout>
          <taskbar:TaskbarPinList>
            <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
    		 <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programme\Outlook 2016.lnk" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programme\Word 2016.lnk" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programme\Excel 2016.lnk" />
          </taskbar:TaskbarPinList>
        </defaultlayout:TaskbarLayout>
      </CustomTaskbarLayoutCollection>
    </LayoutModificationTemplate>

    Vielen Dank i.V.

     

     

    lg

     

     

    Stefan

     

  15. Ja, dann geht es halt lokal nicht, dann wurde dass hier eben noch mal bestätigt, dann werde ich unseren GPO Meister die Sache übergeben, hab dazu leider keine Rechte, dass dies sicher die professionelle Lösung ist, darüber bin ich mir im Klaren. Hatte halt vielleicht noch gedacht, dass man dass evtl noch mit lokalem Startscript machen könnte, da müssten Softwareinstalaltionen doch ausgeführt werden oder?

     

     

    lg

     

     

     

  16. So noch einmal ganz langsam,

     

    ich möchte dass unser StandardWindowsImage, wo man vorher ja nicht weiss, welcher User den Rechner dann benutzen wird, und ob dieser in einer bestimmten Gruppe ist, einmalig beim ersten Anmelden eines jeden users getestet wird, ob dieser in einer bestimtmten AD Gruppe, in diesem Fale VPNUSER ist, ind dann, und nur dann ein VPN Client installiert wird, da muss es doch eine Möglichkeit geben? Hoffe hb mich jetzt deutlich ausgedrückt.

     

     

    lg

  17. Weil nicht jeder Rechner einen User hat der in der Gruppe VPNUSER ist, und bei den anderen das nicht installiert werden soll. Per Aufgabe mit System hatte ich ja auch schon versucht, aber auch  da das Zugriffsproblem. Eine ständige Prüfung beim starten der Systeme halte ich für performance bedenklich, daran hatte ich selbstverständlich auch schon gedacht.

     

     

    lg

  18. Hallo allerseits,

     

    ich habe folgendes Problem. Es soll lokal versucht werden, eine Installation, in Abhängigkeit von einer bestimmten Gruppenzugehörigkeit durchzuführen. Diese Prüfung soll genau einmal, bei der ersten Anmeldung durchgeführt werden. Dazu habe ich mir folgendes kleine Script gebaut:

     

    whoami /groups | find "Jeder">nul 2>&1 
    if not errorlevel = 1 (GOTO RDPUSER)
    
    :DEFAULT
    echo Benutze ist NICHT in der Gruppe RDPUSER
    pause
    goto ENDE
     
    :Jeder
    echo Benutzer ist in der Gruppe RDPUSER
    msiexec /i"C:\Install.msi" /quiet /qn /norestart /passive
    
    :ENDE

    Er führt das Script zawar ewinmalig bei jedem neuen user aus, aber das Script scheitert, aufgrund von Zugriffsbeschränkungen. Hat irgend jemand eine Iddee, wie man dieses Problem lösen kann, über eine Aufgabe habe ich es auch schon probiert, mit Schtasks /run, aber das selbe. Vielen Dank schon mal für Anregungen, ich weiss gäbe wahrscheinlich tolle Möglichkeiten dies wüber AD zu realisieren, aber leider steht diese Möglichkeit hier nicht zu Debatte.

     


    Danke i.V.

     

    lg

  19. Also ich habe jetzt folgendermaßen versucht die Linefeeds am Ende zu löschen, leider bekomme ich eine Meldung, dass dieses für VARCHAR unzulässig sei, was kann man hier tun?

     

    use DBArchiv
    UPDATE M_Objekte
        SET Ob_F21 = REPLACE ( ob_f21 , CHAR(13) + CHAR(10) , ', ' )
    	WHERE  Ob_ID IN (
                     SELECT Ob_ID
                     FROM   M_Objekte
                            INNER JOIN M_Bestaende ON M_Objekte.B_ID = M_Bestaende.B_ID
    	WHERE 
      B_intAbk = 'BestandA'
    )

    lg und schöne Restwoche noch

  20. Hallo liebe Experten,

    ich habe mal eine kleine Frage. In meiner Archiv Datenbank existiert ein Feld Ob_F2, welches eine alphanumerische Kennung ethält und vom Typ (NVARCHAR(255),NULL) ist. Leider kommt es bei der Dateneingabe immer mal wieder vor, dass am Anfang, am Ende oder innerhalb des Strings Leerzeichen hineingeraten.

    Hat jemand eine Idee, wie ich diese Datensäte finden kann, es geht nur um das finden, mein Grundkonstrukt für die Abfrage sieht folgendermaßen aus:

     

    use DBArchiv
    
    select Ob_F2,B_intAbk,B_DatVon,B_DatBis,Ob_F1, Ob_f20,ob_f21
    
    FROM M_Objekte1 INNER JOIN M_Bestaende ON M_Objekte1.B_ID = M_Bestaende.B_ID
    
    WHERE (Ob_f2 like '[ ]%'
    AND
    Ob_f2 like '%[ ]')
    
    OR
    Ob_f2 like '[ ]%'
    
    OR
    Ob_f2 like '%[ ]'
    
    order by B_intAbk

    Hier werden aber lediglich die Leerzeichen am Anfang oder Ende, bzw beides gefunden, wie kann ich also nun sämtliche Datensäte finden, an denenen in diesem Feld Leerzeichen enthalten sind? Für eine Antwort wäre ich sehr dank bar

     

     

    LG und ein schönes Wochenende
     

×
×
  • Neu erstellen...