Windows システムでコマンドを実行する PowerShell の一般的なエラーと処理

 

目次

 

エラーを報告する

エラー 1 実行戦略が変更されていません

エラー 2 ユーザー権限が不十分です

エラー 3 .ps1 は中国語のパスを使用しています

エラー 4 .ps1 パス エラー


Powershell の実行命令 (ターミナルへの直接入力命令や .ps1 ファイルの実行など)、頻繁に発生するエラーの報告と処理

エラーを報告する

エラー 1 実行戦略が変更されていません

実行戦略が変更されていない場合、エラーが報告されます。

.\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : このシステムではスクリプトの実行が禁止されているため、ファイル D:\ReplaceShortcuts.ps1 を読み込むことができませんでした。詳細については
、https:/go.microsoft.com/fwlink/?LinkID=135170 で about_Execution_Policies を参照してください。
場所の行: 1 文字: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
    + カテゴリ情報: SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : 不正アクセス

 変更: .\ReplaceShortcuts.ps1 を実行する前に、実行ポリシーを変更します。

Set-ExecutionPolicy RemoteSigned

エラー 2 ユーザー権限が不十分です

ユーザー権限が不十分な場合は、エラーが報告されます。

 Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' へのアクセスは
拒否されます。デフォルト (LocalMachine) スコープの実行ポリシーを変更するには、「管理者として実行」オプションを使用して Windows PowerShell を起動します。
現在のユーザーの実行ポリシーを変更するには、「Set-ExecutionPolicy -Scope CurrentUser」を実行します。
場所行: 1 文字: 1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + カテゴリ情報: PermissionDenied : ( :) [Set-ExecutionPolicy]、UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException、
   Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

方法 1: [管理者として実行] オプションを使用して Windows PowerShell を起動してください。次に「Set-ExecutionPolicy RemoteSigned」。

方法 2: 管理者の代わりに「Set-ExecutionPolicy -Scope CurrentUser」を実行します。

エラー 3 .ps1 は中国語のパスを使用しています

 .ps1 ファイル内のアドレス パスが中国語に設定されている場合、実行時にエラーが報告される場合があります。

.\ReplaceShortcuts.ps1
Get-ChildItem : パス「D:\Shortcuts」が存在しないため、見つかりませんでした。
場所 D:\Copy\ReplaceShortcuts.ps1:4 文字数: 1
+ Get-ChildItem $shortcutPath -Filter *.lnk | ForEach-Object { + ~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~     + カテゴリ情報 : ObjectNotFound: (D: ローズ: 文字列) [Get-ChildItem]、I temNotFoundException     + FullyQualifiedErrorId : PathNotFound、Microsoft.PowerShell .Commands.GetChildItemCommand 



[コントロールパネル]で変更し、[コントロールパネル] -> [管理] -> [システムロケールの変更] -> [ベータ版: Unicode UTF-8を使用してグローバル言語サポートを提供する]にチェックを入れます。下に: 

コンピューターを再起動するだけです。

ソリューション ソース: PowerShell と cmd コマンド、または中国語のパスで cmd コマンドを実行する Java Runtime.exec ソリューション_中国語のパスを使用して PowerShell スクリプトでファイルを読み取る方法_Yanbao のブログ-CSDN ブログ

エラー 4 .ps1 パス エラー

.\ReplaceShortcuts.ps1実行時

 .\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : 項目 '.\ReplaceShortcuts.ps1' は、コマンドレット、関数、スクリプト ファイル、または実行可能ファイルの名前として認識されませんでした。
名前のスペルを確認し、パスが含まれている場合は、それが正しいことを確認して再試行してください。
場所行: 1 文字: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~
    + カテゴリ情報 : ObjectNotFound: (.\ReplaceShortcuts.ps1:String ) []、CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

方法 1: 「cd」コマンドを使用して、ReplaceShortcuts.ps1 が存在するフォルダーにジャンプします。

cd D:\path\to\folder

ここで、path\to\folderはアクセスするフォルダーへのパスです。たとえば、D ドライブの「Documents」という名前のフォルダにアクセスする場合は、次のコマンドを使用できます。「cd D:\Documents」 このコマンドは、現在の作業ディレクトリを D ドライブの「Documents」フォルダに変更します。これで、このフォルダー内のファイルとフォルダーに PowerShell でアクセスできるようになります。

ReplaceShortcuts.ps1 があるフォルダーに移動し、.\ReplaceShortcuts.ps1 を実行します。

方法 2: 「&」+「絶対パス」を入力して絶対パスを使用する

& "D:\复制\ReplaceShortcuts.ps1"

おすすめ

転載: blog.csdn.net/weixin_56337147/article/details/130704263