Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

BEVEZETÉS

A Microsoft kiadott egy biztonsági tanácsokat tartalmazó dokumentumot, amely a Microsoft SQL Server programban távolról végrehajtott kódfuttatást lehetővé tevő biztonsági rést ismerteti. A biztonsági tanácsokat tartalmazó dokumentum további, biztonsággal kapcsolatos információt nyújt. A dokumentumot a Microsoft következő webhelyén találja:

http://www.microsoft.com/hun/biztonsag/2008/961040.mspxA cikkben található Visual Basic parancsfájl segítségével kerülő megoldás alkalmazható az SQL Server helyi számítógépen futó példányain.

PÉLDA A KERÜLŐ MEGOLDÁS ALKALMAZÁSÁRA HASZNÁLHATÓ VISUAL BASIC PARANCSFÁJLRA

Az alábbi Visual Basic parancsfájllal megtagadhatja az sp_replwritetovarbin kiterjesztett tárolt eljárás Public szerepkörre vonatkozó Execute engedélyét az SQL Server helyi számítógépen futó összes érintett verzióján.

A Microsoft csak szemléltetési célból ad közre programozási példákat, és azokra – beleértve a forgalomba hozhatóságot és az adott célra való megfelelőséget is – sem törvényi, sem más garanciát nem vállal. A cikk feltételezi, hogy az olvasó jártas a bemutatott programozási nyelvben, valamint az eljárások létrehozására és a velük kapcsolatos hibakeresésre szolgáló eszközök használatában. A Microsoft támogatási szakemberei segíthetnek az egyes eljárások működésének megértésében. E szakemberek ugyanakkor funkcióbővítési célból nem módosítják a példákat, és nem készítenek az egyéni igényeknek megfelelő eljárásokat.


Másolja egy szövegfájlba az alábbi forráskódot, mentse a fájlt .vbs kiterjesztéssel, majd futtassa a parancsfájlt a CScript.exe programmal. A parancsfájl végiglépeget az SQL Server helyi számítógépen futó példányain, és az érintett verziók esetén alkalmazza a kerülő megoldást. Az SQL Server mindegyik példányán a sysadmin szerepkör tagjának kell lennie ahhoz, hogy alkalmazhassa a kerülő megoldást. Ha nem rendelkezik olyan Windows rendszerbeli fiókkal, amely minden, az SQL Server szolgáltatást futtató kiszolgálón tagja a sysadmin szerepkörnek, akkor több fiókból is futtatnia kell a parancsfájlt. Ha olyan Windows rendszergazdai fiókot használ Windows Server 2008 vagy Windows Vista rendszeren, amely a sysadmin szerepkör tagja, akkor „emelt szintű” parancssorból futtassa a parancsfájlt.

'*************************************************************************************
'Leírás: Ez a parancsfájl végiglépeget az SQL Server futó példányain, és az érintett
" verziók esetén megtagadja az sp_replwritetovarbin eljárás nyilvános
" szerepkörre vonatkozó végrehajtási engedélyét.
" EZ A PROBLÉMA KERÜLŐ MEGOLDÁSA, NE HASZNÁLJA, HA VAN ELÉRHETŐ BIZTONSÁGI
" FRISSÍTÉS, ÉS AZ TELEPÍTVE VAN.
'*************************************************************************************

OPTION EXPLICIT
ON ERROR RESUME NEXT

' Konstans értékek
CONST EXIT_SUCCESS = 0
CONST EXIT_FAILURE = 1
CONST EXIT_NOINSTANCES = -1
CONST DEFAULTNAMESPACE = "root\default"
CONST STDREGPROV = "stdregprov"
CONST HKEY_LOCAL_MACHINE = &H80000002
CONST REG_MULTI_SZ = 7
CONST REG_SZ = 1
CONST adCmdText = 1


Call VBMain()

Function VBMain()
Err.Clear
ON ERROR RESUME NEXT

Dim sInstances(), strInstance, i, TotalCount
VBMain = EXIT_SUCCESS
If GetInstances(sInstances, TotalCount) = FALSE Then
WScript.Quit EXIT_FAILURE
End If

If IsEmptyNull(sInstances) Then
WScript.Echo "INFORMÁCIÓ: A program nem talált példányt."
VBMain = EXIT_NOINSTANCES
Exit Function
End If

For i = 0 To TotalCount-1
strInstance = sInstances(i,0)
GetFullInstance strInstance, sInstances(i,1)
If ApplyFix(sInstances(i,0), strInstance) = FALSE Then
WScript.Echo "HIBA: Nem sikerült a kerülő megoldás alkalmazása a következőn: " + sInstances(i,0) + "." + vbCRLF
VBMain = EXIT_FAILURE
End If
Next

WScript.Echo "INFORMÁCIÓ: A futó SQL Server-példányok feldolgozása kész."
End Function

Function GetInstances(ByRef sInstances, ByRef TotalCount)
Err.Clear
ON ERROR RESUME NEXT

Dim sInstances1, sInstances2, i
Dim instCount1, instCount2
GetInstances = FALSE

If NOT GetRegValue ("", HKEY_LOCAL_MACHINE, "Software\Microsoft\Microsoft SQL Server", "InstalledInstances", sInstances1, REG_MULTI_SZ, TRUE) Then
WScript.Echo "HIBA: A számítógépen telepített SQL Server-példányok beolvasása sikertelen."
Exit Function
End If

sInstances2 = NULL
If IsOs64Bit() = TRUE Then
If NOT GetRegValue ("", HKEY_LOCAL_MACHINE, "Software\Microsoft\Microsoft SQL Server", "InstalledInstances", sInstances2, REG_MULTI_SZ, FALSE) Then
WScript.Echo "HIBA: A számítógépen telepített SQL Server-példányok beolvasása sikertelen."
Exit Function
End If
End If

If IsEmptyNull(sInstances1) AND IsEmptyNull(sInstances2) Then
WScript.Echo "INFORMÁCIÓ: A program nem talált példányt."
WScript.Quit EXIT_SUCCESS
End If

instCount1 = 0
instCount2 = 0
TotalCount = 0
If IsEmptyNull(sInstances1) = FALSE Then
instCount1 = UBound(sInstances1) + 1
TotalCount = instCount1
End If

If IsEmptyNull(sInstances2) = FALSE Then
instCount2 = UBound(sInstances2) + 1
TotalCount = TotalCount + instCount2
End If

ReDim PRESERVE sInstances(TotalCount,1)
if instCount1 > 0 Then
For i = 0 To UBound(sInstances1)
sInstances(i,0) = sInstances1(i)
sInstances(i,1) = True
Next
End If
If instCount2 >0 Then
For i = 0 To UBound(sInstances2)
sInstances(i+instCount1,0) = sInstances2(i)
sInstances(i+instCount1,1) = FALSE
Next
End If
GetInstances = TRUE
End Function


Function ApplyFix(ByVal strInstance, ByVal strServerName)
Err.Clear
ON ERROR RESUME NEXT

Dim objConn, objCmd, objCmd1, objRS, objRS1
Dim strCommand, strConn
Dim strBuildVersion, strProductLevel, bApplyFix

' Visszatérési érték inicializálása
ApplyFix = FALSE

strConn = "Provider=sqloledb;Initial Catalog=master;Integrated Security=SSPI;Data Source=" + strServerName + ";"
' A hibaellenőrzés a forráskód egyszerűsége érdekében mellőzve
Set objConn = CreateObject("ADODB.Connection")
Set objCmd = CreateObject("ADODB.Command")
Set objCmd1 = CreateObject("ADODB.Command")

' Kapcsolódás a fő adatbázishoz
objConn.Open strConn
If ErrorOccurred("Error: Could not connect to " + strInstance) Then
Set objConn = Nothing
Exit Function
End If

' Verzió ellenőrzése a javítás alkalmazása előtt
strCommand = "select SERVERPROPERTY('ProductVersion') as version, SERVERPROPERTY('productlevel') as productlevel"
objCmd.ActiveConnection = objConn
objCmd.CommandType = adCmdText
objCmd.CommandText = strCommand

Set objRS = objCmd.Execute()
If ErrorOccurred("ERROR: Could not execute """ + strCommand + """ on " + strInstance) = TRUE Then
objConn.Close()
Set objConn = Nothing
ApplyFix = FALSE
Exit Function
End If

strBuildVersion = objRS("version")
strProductLevel = UCase(objRS("productlevel"))

bApplyFix = FALSE
' Csak az SQL 2000 és az SQL 2005 (RTM, SP1 és SP2) verziók esetén alkalmazza a kerülő megoldást
If (CInt(Mid(strBuildVersion,1,1)) = 8) Then
bApplyFix = TRUE
ElseIf CInt(Mid(strBuildVersion,1,1)) = 9 AND (StrComp(strProductLevel,"RTM") = 0 OR StrComp(strProductLevel,"SP1") = 0 OR StrComp(strProductLevel,"SP2") = 0) Then
bApplyFix = TRUE
End If

If bApplyFix = TRUE Then
strCommand = "deny execute on sp_replwritetovarbin to public"
objCmd1.ActiveConnection = objConn
objCmd1.CommandType = adCmdText
objCmd1.CommandText = strCommand
Set objRS1 = objCmd1.Execute()
If ErrorOccurred("ERROR: Could not execute """ + strCommand + """ on " + strInstance) = FALSE Then
WScript.Echo "INFORMÁCIÓ: A kerülő megoldás sikeresen alkalmazva a következőn: " + strInstance + " (" + strBuildVersion + ")." + vbCRLF
ApplyFix = TRUE
End If
Else
WScript.Echo "INFORMÁCIÓ: A program nem gyűjt adatokat a következőről: " + strInstance + " (" + strBuildVersion + "), mert ez a példány nem tartalmazza a biztonsági rést." + vbCRLF
ApplyFix = TRUE
End If

objConn.Close()
Set objConn = Nothing
Set objCmd = Nothing
Set objCmd1 = Nothing
Set objRS = Nothing
Set objRS1 = Nothing
End Function

Private Function GetRegValue (ByVal strMachineName, ByVal hMainKey, ByVal strPath, ByVal strValueName, ByRef strValue, ByVal iValueType, ByVal b32bit)
Err.Clear
ON ERROR RESUME NEXT

Dim objLocator, objServices, objRegistry, objCtx
Dim sMultiStrings, lRc
GetRegValue = TRUE

'Csatlakozás a WMI szolgáltatáshoz, és egy STDREGPROV osztályú objektum elérése.
Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
If b32bit = TRUE Then
objCtx.Add "__ProviderArchitecture", 32
Else
objCtx.Add "__ProviderArchitecture", 64
End If
objCtx.Add "__RequiredArchitecture", TRUE
set objLocator = createobject("wbemscripting.swbemlocator")
set objServices = objLocator.connectserver(strMachineName,DEFAULTNAMESPACE, "", "",,,,objCtx)
set objRegistry = objServices.get(STDREGPROV)
If ErrorOccurred ("ERROR: Could not connect to WMI namespace " + DEFAULTNAMESPACE) Then
GetRegValue = FALSE
Exit Function
End If

lRc = 0
Select Case iValueType
' Csak a REG_MULTI_SZ típussal foglalkozunk
Case REG_MULTI_SZ
strValue = ""
lRC = objRegistry.GetMultiStringValue(hMainKey, strPath, strValueName, sMultiStrings)
strValue = sMultiStrings
Case REG_SZ
strValue = ""
lRC = objRegistry.GetStringValue(hMainKey, strPath, strValueName, strValue)
Case Else
GetRegValue = FALSE
End Select

If lRc = 2 Or lRc = 3 Then
GetRegValue = TRUE
strValue = ""
ElseIf Err.Number OR lRc <> 0 Then
GetRegValue = FALSE
End If

Set objLocator = Nothing
Set objServices = Nothing
Set objRegistry = Nothing
End Function

Function IsEmptyNull(sCheck)
IsEmptyNull = FALSE
If IsObject(sCheck) Then Exit Function
If IsArray(sCheck) Then Exit Function
If VarType(sCheck) = vbEmpty Then IsEmptyNull = TRUE : Exit Function
If VarType(sCheck) = vbNull Then IsEmptyNull = TRUE : Exit Function
If sCheck = "" Then IsEmptyNull = TRUE
End Function

Private Function ErrorOccurred (ByVal strIn)
If Err.Number <> 0 Then
WScript.Echo strIn
WScript.Echo "HIBA: 0x" & Err.Number & " - " & Err.Description
Err.Clear
ErrorOccurred = TRUE
Else
ErrorOccurred = FALSE
End If
End Function

Function IsOs64Bit()
Err.Clear
ON ERROR RESUME NEXT

Dim objProc
Set objProc = GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'")
If objProc.Architecture = 0 Then
IsOs64Bit = FALSE
Else
IsOs64Bit = TRUE
End If
End Function

Function GetFullInstance (ByRef strInstanceName, ByVal b32bit)
Err.Clear
ON ERROR RESUME NEXT

Dim objServices, objClusters, objCluster
Dim strMacName, isEmpty
Dim strKey, strInstID

GetFullInstance = TRUE

If strComp(UCase(strInstanceName), "MICROSOFT##SSEE", 1) = 0 Then
strInstanceName = "np:\\.\pipe\mssql$microsoft##ssee\sql\query"
Exit Function
End if

strMacName = ""
Set objServices = GetObject("winmgmts:root\cimv2")

' Fürtszolgáltatás lekérdezése
Set objClusters = objServices.ExecQuery ("select * from win32_service where Name='ClusSvc' AND Started = TRUE")
isEmpty = TRUE
If Err.Number = 0 Then
For each objCluster in objClusters
isEmpty = FALSE
Next
End If

Set objServices = Nothing
Set objClusters = Nothing

If isEmpty = TRUE Then
strInstanceName = BuildInstanceName (".", strInstanceName)
Exit Function
End If

' Ha idáig eljut, az azt jelenti, hogy a gép egy fürtcsomópont.
' Ezért a beállításjegyzék lekérdezésével állapítsa meg, hogy az SQL-példány fürtözött-e, vagy sem.
' SQL 2000 esetén a következő azonosítót kérdezze le:
' HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Példánynév>\Cluster
' Fürtnév
strKey = "SOFTWARE\Microsoft\Microsoft SQL Server\" + strInstanceName + "\Cluster"
GetRegValue "", HKEY_LOCAL_MACHINE, strKey, "Fürtnév", strMacName, REG_SZ, b32bit

If StrComp(strMacName, "") <> 0 Then
strInstanceName = BuildInstanceName (strMacName, strInstanceName)
Exit Function
End If

strKey = "SOFTWARE\Microsoft\" + strInstanceName + "\Cluster"
GetRegValue "", HKEY_LOCAL_MACHINE, strKey, "Fürtnév", strMacName, REG_SZ, b32bit

If StrComp(strMacName, "") <> 0 Then
strInstanceName = BuildInstanceName (strMacName, strInstanceName)
Exit Function
End If

' Kísérelje meg lekérdezni a 2005-/2008-példányok beállításazonosítóját
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Példánynevek\SQL
' RegValue = Példánynév
strInstID = ""
strKey = "SOFTWARE\Microsoft\Microsoft SQL Server\Példánynevek\SQL"
GetRegValue "", HKEY_LOCAL_MACHINE, strKey, strInstanceName, strInstID, REG_SZ, b32bit

If StrComp(strInstID, "") = 0 Then
' Ha ez a kulcs nem létezik, térjen vissza helyi SQL 2000-példányként
strInstanceName = BuildInstanceName (".", strInstanceName)
Exit Function
End If

strKey = "SOFTWARE\Microsoft\Microsoft SQL Server\" + strInstID + "\Cluster"
GetRegValue "", HKEY_LOCAL_MACHINE, strKey, "Fürtnév", strMacName, REG_SZ, b32bit

If StrComp(strMacName, "") = 0 Then
strMacName = "."
End If

strInstanceName = BuildInstanceName (strMacName, strInstanceName)
End Function

Function BuildInstanceName (ByVal strMachineName, ByVal strInstanceName)
Dim strPrefix

strPrefix = ""
If StrComp(strMachineName, ".") = 0 Then
strPrefix = "lpc:"
End If

If strComp(UCase(strInstanceName), "MSSQLSERVER", 1) = 0 Then
BuildInstanceName = strPrefix + strMachineName
Else
BuildInstanceName = strPrefix + strMachineName + "\" + strInstanceName
End if
End Function

A CScript.exe programról további információt a Microsoft következő webhelyén talál:

http://technet.microsoft.com/en-us/library/bb490887.aspxMegjegyzés: A parancsfájl használata nem javasolt, ha már van elérhető biztonsági frissítés, és telepítette azt.

A PARANCSFÁJL FUTTATÁSAKOR ESETLEG FELLÉPŐ ISMERT PROBLÉMÁK

1. probléma

A parancsfájl futtatásakor az alábbi hibaüzenet jelenik meg:

ERROR: Could not execute "deny execute on sp_replwritetovarbin to public" on <példánynév> (HIBA: Nem hajtható végre a „deny execute on sp_replwritetovarbin to public” parancs a következőn: <példánynév>)
ERROR: 0x-2147217900 - Cannot find the object 'sp_replwritetovarbin', because it does not exist or you do not have permission. (HIBA: 0x-2147217900 - Az „sp_replwritetovarbin” objektum nem létezik, vagy nem rendelkezik engedéllyel.)
HIBA: Nem sikerült a kerülő megoldás alkalmazása a következőn: <példánynév>.

1. ok

A hibaüzenet olyankor jelenik meg, ha nem rendelkezik a módosítás alkalmazásához szükséges jogosultságokkal. Ez a hibaüzenet azt mutatja, hogy sikeresen bejelentkezett a „<példánynév>” példányba.


Ez a hibaüzenet általában az SQL Server Express használatakor jelentkezik, amelynél a „Built-In\Felhasználók” csoport alapértelmezett adatbázis-bejelentkezéssel rendelkezik, azonban nem tagja a sysadmin szerepkörnek.

A hibaüzenet akkor is megjelenhet, ha törölte az sp_replwritetovarbin eljárást. A tárolt eljárás törlésére vonatkozó javaslat egy külső fél jelentésében szerepelt; a Microsoft ehelyett a jelen megoldás alkalmazását ajánlja.

1. megoldás

Ellenőrizze, hogy a kapcsolódáshoz használt fiók a sysadmin szerepkör tagja-e az adott adatbázispéldányban. Ha nem, akkor vagy adja hozzá az adott felhasználót a sysadmin szerepkörhöz, vagy használjon másik felhasználói fiókot. Az SQL Server 2005-ös és korábbi verzióiban a „Built-in\Rendszergazdák” csoport alapértelmezés szerint tagja a sysadmin szerepnek. Windows Vista vagy Windows Server 2008 rendszer esetén győződjön meg arról, hogy „emelt szintű” parancssorból futtatja a parancsfájlt.

2. probléma

A parancsfájlt az SQL Server 2005-ös verziójában futtatva a következő hibaüzenet jelenik meg:

Error: Could not connect to <példánynév> (Hiba: Nem lehetett csatlakozni a következőhöz: <példánynév>)
ERROR: 0x-2147217843 - Login failed for user '<felhasználó>'. (HIBA: 0x-2147217843 - A felhasználó bejelentkezése sikertelen: <felhasználó>.)
HIBA: Nem sikerült a kerülő megoldás alkalmazása a következőn: <példánynév>.

2. ok

A hibaüzenet akkor jelenik meg, ha nem sikerült kapcsolódnia a „<példánynév>” példányhoz, bár az létezik.


Ez a hibaüzenet általában a belső Windows-adatbázishoz vagy a Microsoft SQL Server 2000 Desktop Edition (Windows) rendszerű adatbázisokhoz való kapcsolódáskor jelentkezik. Ezekhez az adatbázisokhoz rendszerint egy felhasználói fiók sem rendelkezik bejelentkezéssel.

2. megoldás

Ellenőrizze, hogy a parancsfájl futtatásához használt fiók rendelkezik-e olyan adatbázis-bejelentkezéssel, amely tagja a sysadmin szerepkörnek.

Egyéni felhasználók hozzáadása a belső Windows-adatbázishoz és a Microsoft SQL Server 2000 Desktop Edition (Windows) rendszerű adatbázisokhoz nem ajánlott, mert ezek a felhasználók zavarhatják ezen adatbázisok szokásos működését. Ebben az esetben győződjön meg arról, hogy olyan fiókkal kapcsolódik, amely a sysadmin szerepkör tagja. Az SQL Server 2005-ös és korábbi verzióiban a Windows rendszer „Built-in\Rendszergazdák” csoportja alapértelmezés szerint tagja a sysadmin szerepnek. Windows Vista vagy Windows Server 2008 rendszer esetén győződjön meg arról, hogy „emelt szintű” parancssorból futtatja a parancsfájlt.

3. probléma

Előfordulhat, hogy egy MICROSOFT##SSEE nevű adatbázispéldányt talál, bár nem telepítette azt.

3. ok

Ez az adatbázis az egyes Microsoft-termékek (például SharePoint Services) által telepített belső Windows-adatbázis, más néven „SQL Server Embedded Edition”, esetleg „Windows Internal Database” vagy „Microsoft SQL Server 2000 Desktop Edition (Windows)”.

3. megoldás

A problémamegoldó parancsfájl a belső Windows-adatbázissal való használatra készült. Önnek nincs további teendője.

Egyes alkalmazások eltávolításakor a belső Windows-adatbázis a számítógépen marad.
A belső Windows-adatbázis eltávolításáról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:

920277 A belső Windows-adatbázis nem jelenik meg a Programok telepítése és törlése segédprogram listájában, és a Windows SharePoint Services 3.0 eltávolítása után is a számítógépen marad (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

4. probléma

A parancsfájl futtatásakor az alábbi hibaüzenet jelenik meg:


Error: Could not connect to <példánynév> (Hiba: Nem lehetett csatlakozni a következőhöz: <példánynév>)
HIBA: 0x-2147467259 - [DBNETLIB][ConnectionOpen (Connect()).]Az SQL Server nem létezik, vagy a hozzáférés megtagadva.

4. ok

A hibaüzenet az alábbi feltételek teljesülése esetén jelenik meg:

  • Az SQL Server 2000 32 bites verziója van telepítve egy 64 bites operációs rendszeren.

  • Az SQL Server 2005 vagy az SQL Server 2008 64 bites verziója van telepítve a számítógépen.


A hibaüzenet akkor jelenik meg, ha a parancsfájl a dbmslpcn.dll fájl 64 bites verzióját használja. Ez a verzió nem tud kommunikálni az SQL Server 2000 WoW-példányaival.

4. megoldás

A parancsfájl indításához használja a cscript.exe fájl 32 bites verzióját a %WINDOWS%\SysWOW64 mappából. Ez betölti a dbmslpcn.dll fájl WoW-példányokat észlelni képes 32 bites verzióját.

Hivatkozások

Az SQL Server alkalmazás verziójának és kiadásának megállapításáról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:

321185Az SQL Server alkalmazás verziójának és kiadásának megállapítása (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

További információ

A következő táblázat a jelen cikk főbb szakmai módosításait sorolja fel. A cikk verziószáma és a legutóbbi módosítási dátuma a cikknek a táblázatban nem szereplő kisebb szerkesztési vagy strukturális módosításait jelezhetik.

Dátum

Módosítás

2008. december 31.

Bekerült egy, az SQL Server feladatátvételi fürtszolgáltatás-példányait észlelő, frissített parancsfájl.

2008. december 30.

Bekerült egy, a Windows 64 bites verzióin futtatott SQL Server 32 bites verzióit észlelő, frissített parancsfájl.

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×