私は完全にアンインストールしたいという古いサービスをいくつか持っています。これどうやってするの?
このように、 _ sc _ コマンドを使用します(この記事のコマンドを実行するには、コマンドプロンプトを表示する必要があります)。
SC STOP shortservicename
SC DELETE shortservicename
注: Promptコマンドを管理者として実行する必要があります。管理者としてログインするだけでなく、管理者権限も使用します。サービスを停止または削除するために必要なアクセス権がないという上記のエラーが表示された場合は、コマンドプロンプトを管理者として実行してください。これを行うには、スタートメニューの[コマンドプロンプト]を検索し、右クリックして[管理者として実行]を選択します。 PowerShellユーザーへの注意事項: sc
はset-content
にエイリアスされています。そのためsc delete service
は実際にはdelete
という内容のservice
というファイルを作成します。 Powershellでこれを行うには、代わりにsc.exe delete service
を使用してください。
サービスの短いサービス名を見つける必要がある場合は、次のコマンドを使用して、サービスとそのステータスのリストを含むテキストファイルを生成します。
SC QUERY state= all >"C:\Service List.txt"
より簡潔なリストを表示するには、次のコマンドを実行してください。
SC QUERY state= all | FIND "_NAME"
以下のように、短いサービス名が表示名のすぐ上に表示されます。
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
そしてそのサービスを削除するには:
SC STOP MyService
SC DELETE MyService
開始 |をクリックします。 Runを開き、Open:行にregedit
と入力します。 OKをクリックしてください。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
に移動します
左ペインを下にスクロールしてサービス名を見つけ、それを右クリックして削除を選択をクリックします。
システムを再起動します。
問題のサービスを見つけるには、 services.msc または([スタート] - [コントロールパネル] - [管理ツール] - [サービス])を使用します。ダブルクリックして、サービス名と実行可能ファイルへのパスを確認します。
Exeファイルのバージョン情報を調べて、サービスの所有者に関する手がかりを見つけ、可能であれば[プログラムの追加と削除]を使用してクリーンアンインストールを実行します。
それに失敗した場合、コマンドPromptから:
sc stop servicexyz
sc delete servicexyz
再起動は必要ありません。
SC DELETE "service name"
管理者としてcmdでコマンドを実行しないと、このエラーが発生します -
openserviceが失敗しました5アクセスが拒否されました
Windows Vista以上をお持ちの場合は、管理者としてプロンプトコマンドからこれを実行してください。
sc delete [your service name as shown in service.msc e.g moneytransfer]
例えば、次のとおりです。sc delete moneytransfer
フォルダC:\Program Files\BBRTL\moneytransfer\
を削除します
Moneytransferレジストリキーを見つけて、それらを削除します。
HKEY_CLASSES_ROOT\Installer\Products\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders
これらの手順は、Windows XP、Windows 7、Windows Vista、Windows Server 2003、およびWindows Server 2008でテストされています。
私たちは2つの異なる方法でそれを行うことができます
レジストリからWindowsサービスを削除する
正しいパスを知っていれば、レジストリからサービスを削除するのはとても簡単です。これが私のやり方です。
Regedit または Regedt32 を実行します。
レジストリエントリ "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"に移動します。
削除したいサービスを探して削除します。キーを見て、サービスが使用しているファイルを確認し、必要に応じてそれらを削除することもできます。
コマンドウィンドウでWindowsサービスを削除する
あるいは、コマンドプロンプトを使用して、次のコマンドを使用してサービスを削除することもできます。
sc削除
次のコマンドを使ってサービスを作成することもできます。
sc "MorganTechService" binpath = "C:¥Program Files¥MorganTechSPace¥myservice.exe"を作成します。
注:サービスマネージャでリストを更新するには、システムを再起動する必要があります。
上記のように私は実行しました:
sc delete ServiceName
ただし、PowerShellから実行していたため、これは機能しませんでした。
PowerShellを使用するときはsc.exe
へのフルパスを指定する必要があります。PowerShellにはsc
をSet-Content
に割り当てるためのデフォルトのエイリアスがあるためです。これは有効なコマンドなので、実際にはエラーメッセージを表示しません。
これを解決するために、私は次のように実行しました。
C:\Windows\System32\sc.exe delete ServiceName
.NETで作成されたサービスの場合は、C:\ Windows\Microsoft.NET\Framework64\v2.0.50727のように.luフレームワークフォルダで/ uスイッチを付けてinstallutil.exeを使用できます。
これが私に渡されたvbsスクリプトです。
Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")
for each service in servicelist
sname = lcase(service.name)
If sname = "NameOfMyService" Then
msgbox(sname)
service.delete ' the internal name of your service
end if
next
sc名前を削除
サービスを削除する前に、依存関係を確認する必要があります。
あなたはそれをチェックすることができます:
services.msc
を開いてサービス名を探し、[依存関係]タブに切り替えます。
出典: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html
私が作成した私のサービスは、コントロールパネル>プログラムと機能でアンインストールしなければなりませんでした。