これまで、私は常にUACを無効にしてきました。さて、本を読んでそのままにしておきたいと思います。
私のテストケースはmkdir c:\program files\foo
を機能させることです。それを実行すると(私のユーザーは管理者です)、Access is denied.
を取得します
だから、これが役立つことを願って、runas /user:boom\administrator "mkdir c:\program files\foo"
を実行してください。パスワードの入力を求められます。 ENTERを押して、
RUNASエラー:実行できません-mkdir c:\ program files\foo 1327:ログオンに失敗しました:ユーザーアカウントの制限。考えられる理由は、空白のパスワードが許可されていない、ログオン時間の制限、またはポリシーの制限が適用されていることです。
管理者ユーザーのパスワードを設定しようとしています。タスクマネージャーの[ユーザー]タブまたは[ユーザーアカウント]-> [別のアカウントの管理]で検索しましたが、表示されません。
どうすればよいですか?管理者の下でmkdirを実行しようとするのは正しい道ですか? SYSTEMで実行する必要がありますか?
ちなみに、 Sudo for Windows もインストールしようとしましたが、動作させることができず、簡単な「helloworld」チュートリアルも見つかりませんでした( これは私が遭遇した問題 )。
Update-OK、cmd.exeを見つけて「管理者として実行」を右クリックし、特権taskmgrを実行してパスワードを変更できました。それから。それでも、runas /user:administrator "mkdir foo"
を実行してパスワードを入力すると、同じエラーが発生します。これは新しいラップトップであり、ドメインに接続されておらず、管理者パスワードは空白ではありません。
アップデート2-これはWin 7 64ビットプロフェッショナルであり、これをすべてコマンドラインから実行したいと思います。私の目標は、単純な「Sudo.bat」スクリプトを作成することです。
ログインしたアカウントが「管理者」の場合は、cmd.exeを右クリックし、[管理者として実行]をクリックして、UACに対して[OK]をクリックすると、そこからmkdirがProgramFilesで機能するようになります。 。
管理者ユーザーでない場合、および/または通常のユーザーコンテキスト(「管理者として」ではない)でcmdを開くと、(見つけたように)ProgramFilesへのアクセスが拒否されます。
RunAsで発生するエラー(既知の管理者アカウント/パスワードを正常に使用した後)は、「2:システムが見つかりません」ではなく、同じエラー(「1327:ログオン失敗:ユーザーアカウント制限」)であると確信していますか?ファイルが指定されました。」?
RunAs MkDirを(管理者として)実行しようとするとエラー2が発生するため、Mkdirは実行可能ファイルではなく(システムコマンドです)、RunAsを起動できるのはこれだけです。
CMD.EXEをRunAsと組み合わせて使用し、mkdirコマンドを入力できます。これは、二重引用符がネストされているため注意が必要ですが、最終的には次のものを使用できるはずです。
runas /user:administrator "cmd /C \"mkdir \"c:\\program files\\foo\"\""
任意のコマンドから(管理者かどうかに関係なく)必要なものを実行するように求めます。
(余分な円記号はエスケープ文字です)
最も簡単な方法は次のとおりです。
スタートメニューを開く
検索にcmd
と入力し、を押します Ctrl+Shift+Enter
UACプロンプトを受け入れます(これは事実上、su
を実行するのと同じです)
タイプmkdir "c:\program files\foo"
SysinternalsのPsExecを使用してみてください。次のようなコマンド:
psexec -i -d -s cmd.exe
システムアカウント権限でコマンドラインを実行します。
編集:上記のコマンドを機能させるには、ターゲットマシンの管理者権限が必要です。ドメイン環境で動作することを確認しました。
例:C:\ドライブに「temp1」というディレクトリを作成したいマシンのマシン名またはIPアドレスのリストがある場合、「computers」というファイルにマシン名/ IPアドレスのリストを含めます。 。txt "。次に、テキストファイルが存在するディレクトリから、コマンドプロンプトから次のコマンドを実行します。
psexec -i -d -s @computers.txt cmd /c "mkdir c:\temp1"
これにより、各コンピューターがチェックされ、コンピューターへの接続が試行されてから、ディレクトリが作成されます。
私の場合、私はこの解決策を試し、答えを得ました。 リンク で述べたように私はこの答えを得ました。
nULemptyfile.extensionをコピーします
これを使ってみてください。私も問題を解決しました