dtsrun /Z
4 Luty 2011 Dodaj komentarz
Do uruchamiania DTSów MS SQLa 2000 z linii poleceń służy dtsrun. Posiada kilka zdefiniowanych przełączników, w tym jeden, który służy do ukrywania wszystkich parametrów: /Z (np. żeby nikt nie podejrzał hasła). Wykorzystując go należy przekazać zakodowany ciąg znaków zawierający informacje, które możemy przekazać podczas normalnego wywołania. Przykładowo (~ oznacza, że dane znajdujące się za przełącznikiem są przekazywane jako hex):
DTSRUN /~Z0x1C0C617F1217894A624CDB7DC...
Jak taki ciąg przygotować?
Opcja 1: przełącznik /!Y – zakoduje parametry do ciągu znaków i wypisze na wyjściu kod wynikowy. Dodanie opcji /!C spowoduje skopiowanie treści do schowka, zamiast pisania na ekran.
DTSRUN /S serwer /U użytkownik /P hasło /N nazwa_dtsa /!Y
Opcja 2: dtsrunui – wpisanie w konsoli (lub przez Start > Uruchom) wyświetla okienkową wersję uruchamiania DTSa.
Wybieramy serwer oraz podajemy (lub wyszukujemy) nazwę DTSa i naciskamy przycisk ‘Advanced…’. W dolnej części nowego okna należy zaznaczyć pole ‘Encrypt the command’ i nacisnąć ‘Generate’. Ciąg gotowy.
A jak w drugą stronę? Tzn. znając zakodowane polecenie DTSRUN znaleźć co ono wywołuje? Wystarczy wywołać takie polecenie z przełącznikami /!X /!C:
DTSRun /~Z0x1A0211D49(...) /!X /!C
Spowoduje to uruchomienie DTSa, ale zablokowanie jego wykonywania (/!X) oraz skopiowanie parametrów do schowka (/!C). Otrzymujemy wynik:
DTSRun: Loading... DTSRun: Executing...
Teraz wystarczy wkleić zawartość schowka np. do notatnika i pokazane zostaną parametry do uruchomienia:
DTSRun /S "serwer /U "użytkownik" /N "zadanie" /!X /!C